在折腾docker的时候,有一天突然发现打开docker容器的终端时,提示“socket已停止”的错误。

而且所有容器都不能使用终端了。这就蛋疼了。虽然可以使用外部SSH登陆群晖操作,但是很不方便。

网上对于这个错误,也没有找到解决方案。有一个论坛说,更换chrome浏览器能解决,呃,就是扯淡……

一段时间后,在解决一个websocket问题时想到,会不会是群晖的nginx服务关闭了websocket服务,所以导致这个问题?

一通研究后发现还真是!这里转载一下解决方法

#先备份,安全第一
cp /usr/syno/share/nginx/Portal.mustache /usr/syno/share/nginx/Portal.mustache.bak

#再编辑
nano /usr/syno/share/nginx/Portal.mustache

在打开的文件中,找到location 节点,在节点的末尾添加下面的代码

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;

保存后,充气nginx

sudo synoservicecfg --restart nginx

注意,DSM升级的时候,可能会重新覆盖这个文件。如果覆盖了,重新改一下就好。

confluence提示“The editor didn't load this time” 编辑器无法加载的错误

如果在群晖上架设confluence,同时开启了反向代理域名来访问,编辑时出现上诉错误时,就可以用上面的方法来恢复websocket。

Last modification:February 1, 2021
如果觉得文章对你有用,请随意赞赏