問題復現
添加反向代理:直接在寶塔面板的網站設定中添加反向代理,如圖所示

這樣操做會產生 Websocket 報錯1006,導致登陸進去顯示一片空白頁面,
需要我們手動添加apache的WebSocket的配置,讓反向代理支持wss協議,
WebSocket協議是一種雙向通信協議,在建立連接后,WebSocket服務器和Browser/UA都能主動的向對方發送或接收資料,
因為code-server使用了ws協議與服務器進行雙向通信,如果沒有Apache反向代理沒有添加對ws協議的配置,便會導致頁面空白的情況,

解決方法
在apache網站的組態檔中添加反向代理ws協議支持
首先開啟ssl,部署證書并啟用強制HTTPS

然后在網站設定的SSL選項的上方找到網站組態檔
如果你的code-server沒有HTTPS就將ws組態檔添加到標簽<VirtualHost *:80>里面
如果有HTTPS就添加到標簽<VirtualHost *:443>里面,添加如下內容,注意要更改code-server服務的埠號,
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提供的組態檔
本文放棄所有著作權,轉載請隨意,無需署名,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/312582.html
標籤:其他
