nginxのWebsocket接続をどのように設定しますか?

NginxをWebSocket接続をサポートするように構成するには、以下の手順を実行する必要があります。

  1. Nginxの設定ファイルを開いてください(通常、/etc/nginx/nginx.confにあります)。
  2. http部分に以下の設定を追加してください。
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://your_websocket_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
  1. map指令では、Upgradeヘッダーにより、変数$connection_upgradeの値が定義されます。Upgradeフィールドが存在し、空でない場合は、値を”upgrade”に設定します。それ以外の場合は、”close”に設定します。
  2. サーバーブロックでは、80ポートをリッスンし、サーバー名を指定しています。locationブロックはすべてのリクエストを処理し、WebSocketサーバーにプロキシします。proxy_http_versionディレクティブはHTTPバージョンを1.1に設定し、proxy_set_headerディレクティブはUpgradeおよびConnectionリクエストヘッダーフィールドを設定し、WebSocket接続をサポートします。
  1. あなたのWebSocketサーバー
  2. 設定ファイルを保存し、閉じます。
  3. nginxの構文をチェックします。
  4. nginxの再起動を行うには、systemctl restart nginxと入力してください。

上記の手順が完了すると、NginxはWebSocket接続を正しくプロキシします。WebSocketサーバーが正常に動作しており、Nginxがアクセスできることを確認してください。

bannerAds