添加反向代理:直接在宝塔面板的网站设置中添加反向代理,如图所示
这样操做会产生 Websocket 报错1006,导致登陆进去显示一片空白页面。
主要原因就是反向代理没有开启对ws协议的支持。
WebSocket协议是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,
这需要我们手动添加apache的WebSocket的配置,让反向代理支持wss协议。
因为code-server使用了ws协议与服务器进行双向通信,如果没有Apache反向代理没有添加对ws协议的配置,便会导致页面空白的情况。
解决方法在apache网站的配置文件中添加反向代理ws协议支持
首先开启ssl,部署证书并启用强制HTTPS
然后在网站设置的SSL选项的上方找到网站配置文件
如果你的code-server没有HTTPS就将ws配置文件添加到标签
如果有HTTPS就添加到标签
RewriteEngine On
ProxyRequests On
ProxyVia On
# Proxy Traffic
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /(.*) ws://localhost:6666/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket
RewriteRule /(.*) http://localhost:6666/$1 [P,L]
将以上代码添加在这个位置,然后保存,验证页面是否正常访问。
正常的话应该是访问成功
参考链接:How to run code-server with HTTPS by a low privilege user? · Issue #1211 · cdr/code-server (github.com)
原文链接:code-server部署到Linux并开启Apache反向代理后登陆账户全黑屏问题解决办法
感谢GitHuber@TheHllm提供的配置文件
本文放弃所有版权,转载请随意,无需署名。



