ホームページ >運用・保守 >Nginx >WebSocket をサポートするように Nginx を構成する方法

WebSocket をサポートするように Nginx を構成する方法

王林
王林転載
2023-05-17 21:28:135517ブラウズ

1. wss および nginx プロキシ wss についての理解:

1. wss プロトコルは実際には websocket SSL であり、https (http SSL) と同様に、websocket プロトコルに SSL レイヤーを追加することを意味します。

2. nginx を使用して wss をプロキシする [通信原理とプロセス]

  • クライアントは wss 接続を開始して nginx

  • に接続します

    Nginx は WSS プロトコル データを Workerman の WebSocket プロトコル ポートに転送し、それを WS プロトコル データに変換します

  • Workerman はデータを受信した後にビジネス ロジック処理を実行します

  • #Workerman がクライアントにメッセージを送信する場合は、その逆のプロセスで、データは nginx/ を介して wss プロトコルに変換され、クライアントに送信されます

2. 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 接続に変えるために接続アップグレードが実行されることを示すこれら 2 行です。

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_read_timeout; 接続が成功した後にサーバーの応答を待つ時間を示します。構成されていない場合、デフォルトは 60 秒です。

proxy_http_version 1.1; http バージョンが 1.1 であることを示します

以上がWebSocket をサポートするように Nginx を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。