Nginx 構成の SSL 証明書 (Https) と WebSocket wss について

1. SSL 自己署名証明書の生成
       自己署名証明書は自己生成証明書で、無料です。ブラウザの導入はサポートされません。ブラウザのサポートは有料です。ローカル テストであるため、購入する必要があります。自己署名証明書が使用されている場合、購入した証明書は証明書生成部分をスキップできます。

 OpenSSL のインストール
          OpenSSL は SSL を生成するツールです。ここでは Win10 にインストールされています。ダウンロードした Windows 64 ビットは、次の手順で直接インストールできます。次に、OpenSSL インストールの bin パスを環境変数のパスに追加します。 

          ダウンロードリンク

      2. 証明書の生成を開始する

 RSA 秘密鍵
        des3 アルゴリズム、1024 ビット強度、server.key 秘密鍵ファイル名を生成します。

openssl genrsa -des3 -out server.key 1024
CSR (証明書署名要求) の生成
openssl req -new -keyserver.key -outserver.csr
 注: コモンネームはドメイン名と一致している必要があります。

 このマシンでテストされているため、ドメイン名はありませんが、hosts ファイルを変更することでドメイン名をシミュレートできます。

 hosts ファイルは C:\Windows\System32\drivers\etc ディレクトリにあり、開いて 127.0.0.1 Demon.joyios.com を追加します。

国名 (2 文字コード) [AU]:CN
州または省名 (フルネーム) [Some-State]:北京の
地域名 (例:都市) []:北京の
組織名 (例:会社) [Internet Widgits Pty Ltd ]:joyios
組織単位名 (セクションなど) []:info technology
一般名 (サーバーの FQDN またはユーザー名など) []:demo.joyios.com この項目はドメイン名と一致している必要があります
電子メール アドレス []:liufan@ Joyios.com は
秘密キーのパスワードを削除
openssl rsa -in server.key -out server.key
自己署名証明書を生成
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
 現時点では証明書が生成されており、次の 3 つのファイルが含まれています:server.key |server.csr |server.crt


2.証明書を配置するようにNginx を設定します
       。nginx の conf ディレクトリを開き、keys ディレクトリを作成し、生成された証明書 (3 ファイル) を key ディレクトリに配置します。

nginx.confを変更する
       

    サーバー {         リッスン 80;         サーバー名 www.xxx.com;         ^(.*)$ https://${server_name}$1 を永続的に書き換えます。         location / {             proxy_pass http://www.xxx.com:8080;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header X-Forwarded-Proto $scheme;             proxy_set_header X 転送ポート $server_port;         }     }     サーバー {         リッスン 443;         サーバー名 www.xxx.com;         SSL オン。         #構成認証の経路         sssl_certificate key/server.crt;         ssl_certificate_key キー/サーバー.キー;


 

 






 

 







        ssl_session_timeout 5m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        
        # 通常の https リクエストの
        場所 / {              # ポート 8080 への転送を設定             proxy_pass http://www.xxx.com:8080;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;             proxy_set_header X-Forwarded-Proto $scheme;             proxy_set_header X-Forwarded-Port $server_port;         }         # WebSocket リクエストの         場所 /websocketChat {             proxy_pass http://www.xxx.com:8080;             proxy_http_version 1.1;             proxy_set_header アップグレード $http_upgrade; }






        





            proxy_set_header Connection "upgrade";
        }
        
        # WebSocket request
        location /websocketAudio {             proxy_pass http://www.xxx.com:8080;             proxy_http_version 1.1;             proxy_set_header Upgrade $http_upgrade;             proxy_set_header Connection "upgrade";         }     } nginx を再起動し        、nginx のインストールに入りますディレクトリ





 


nginx -s reload
3. これで完了です。この時点でテストは
      セットアップされており、WebSocket ws の js 部分を wss に置き換えることができます。

      www.xxx.com に直接アクセスして SSL 証明書を確認します。すべてのブラウザが認証なしで証明書を傍受します。信頼できる場合は、マップされたポート 8080 (Tomcat サーバー) を入力できます。

おすすめ

転載: blog.csdn.net/weixin_45623983/article/details/128561658