首頁  >  文章  >  運維  >  Nginx支援websocket怎麼配置

Nginx支援websocket怎麼配置

王林
王林轉載
2023-05-17 21:28:135431瀏覽

一、對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刪除