1、wss協定實際上是websocket SSL,就是在websocket協定上加入SSL層,類似https(http SSL)。
2、利用nginx代理wss【通訊原則及流程】
客戶端發起wss連線連到nginx
Nginx將WSS協定的資料轉送到Workerman的WebSocket協定端口,同時將其轉換成WS協定資料
Workerman收到資料後做業務邏輯處理
#Workerman傳送訊息給客戶端時,則是相反的過程,資料經過nginx/轉換成wss協定然後發給客戶端
server { listen 80; server_name 域名; location / { proxy_pass http://127.0.0.1:8080/; // 代理转发地址 proxy_http_version 1.1; proxy_read_timeout 3600s; // 超时设置 // 启用支持websocket连接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /upload { // 静态资源地址 root /mnt/resources; } }
重要的是這兩行,它顯示是websocket連線進入的時候,進行一個連線升級將http連線變成websocket的連線。
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
proxy_read_timeout; 表示連線成功以後等待伺服器回應的時候,若未設定預設為60s;
proxy_http_version 1.1; 表示使用http版本為1.1
以上是Nginx支援websocket怎麼配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!