nginx 用のセキュア Web ソケットを構成するには? C# でのサーバー用の System.Net.WebSocket

nginx 用のセキュア Web ソケットを構成するには? C# でのサーバー用の System.Net.WebSocket

セキュアWebソケットの設定について何かアイデアはありますか?C#でサーバーにSystem.Net.WebSocketを使用しています。これにnginxを設定したいと思いました。WebSocketはhttps://localhost:9000nginx 設定ファイルで必要な設定は何でしょうか。

答え1

あなたの質問を読むと、https アップストリーム プロキシの nginx vhost 構成の例を求めているのではないかと思います。

以下にその構成例を示します。

server {
    listen 443;
    listen [::]:443;
    server_name www.example.com;

    location / {
        proxy_set_header     Host      $host;
        proxy_set_header     X-Real-IP $remote_addr;
        proxy_pass           https://localhost:9000;

        proxy_ssl_certificate         /etc/nginx/client.pem;
        proxy_ssl_certificate_key     /etc/nginx/client.key
        proxy_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
        proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
        proxy_ssl_trusted_certificate /etc/nginx/trusted_ca_cert.crt;

        proxy_ssl_verify        on;
        proxy_ssl_verify_depth  2;
        proxy_ssl_session_reuse on;
    }

}

また、http -> https へのリダイレクトも必要になる場合があります。

server {
   listen 80;
   listen [::]:80;
   server_name www.example.com;
   return 301 https://$server_name$request_uri;
}

詳細は以下をご覧くださいNGINX: アップストリーム サーバーへの http トラフィックのセキュリティ保護そして

関連情報