首頁 > 運維 > Nginx > 主體

Nginx支援websocket怎麼配置

王林
發布: 2023-05-17 21:28:13
轉載
5405 人瀏覽過

一、對wss與nginx代理wss的理解:

1、wss協定實際上是websocket SSL,就是在websocket協定上加入SSL層,類似https(http SSL)。

2、利用nginx代理wss【通訊原則及流程】

  • 客戶端發起wss連線連到nginx

  • Nginx將WSS協定的資料轉送到Workerman的WebSocket協定端口,同時將其轉換成WS協定資料

  • Workerman收到資料後做業務邏輯處理

  • #Workerman傳送訊息給客戶端時,則是相反的過程,資料經過nginx/轉換成wss協定然後發給客戶端

二、Nginx 支援websocket的設定

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中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!