[nginx] ws は wss として設定されています

に WebSocket サーバーがあり、ws://example.com/socket暗号化された安全な接続に WSS を使用するように構成したいとします。

次に、WSS の構成例を示します。

  1. SSL 証明書の生成: OpenSSL ツールを使用して自己署名 SSL 証明書を生成し、ファイルとして保存しserver.crtますserver.key

  2. Nginx サーバーの構成: Nginx サーバーで SSL 証明書を構成します。Nginx 構成ファイルに、次の構成を追加します。

    server {
        listen 443;
        server_name example.com;
    
        ssl on;
        ssl_certificate /path/to/server.crt;
        ssl_certificate_key /path/to/server.key;
    
        location /socket {
            proxy_pass http://localhost:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }
    

    上記の構成では、SSL 証明書と秘密キー ファイルへのパスを および として指定しまし/path/to/server.crt/path/to/server.keyproxy_pass一部はリクエストを WebSocket サーバーに転送する構成です。

  3. クライアント側でプロトコル接続を使用しますwss://。クライアント コードで、元のURL をプロトコル URLws://に置き換えます。次に例を示します。wss://

    const socket = new WebSocket('wss://example.com/socket');
    

    を使用するとwss://example.com/socket、クライアントは WSS プロトコルを使用してサーバーに接続します。

構成が完了すると、クライアントがwss://プロトコル を使用して接続するとexample.com/socket、Nginx サーバーは暗号化に SSL 証明書を使用し、リクエストを WebSocket サーバーに転送して処理します。このようにして、WebSocket の安全な接続が実現されます。

おすすめ

転載: blog.csdn.net/gao511147456/article/details/132234106