前面に書かれた今日のインターネット分野では、Nginx は最も広く使用されているプロキシ サーバーの 1 つです。多くの大企業が、ビジネス システムのプロキシ サーバーとして Nginx を使用しています。したがって、Nginx の Http、Https、WS、WSS の設定を理解する必要があります。さあ、Bingheと一緒にNginxを学び、一緒に進歩し、一緒にハゲになりましょう〜〜 Nginx 構成 HTTPまず、Nginx で HTTP を設定する方法について説明します。Nginx で HTTP を設定することは、Nginx で最もよく使用される機能の 1 つです。以下に示すように、nginx.conf で対応する情報を設定します。 アップストリームメッセージ{ サーバー localhost:8080 max_fails=3; } サーバー{ 聞く 80; server_name ローカルホスト; 位置 / { ルートhtml; インデックス index.html index.htm; #クロスドメインアクセスを許可する add_header 'Access-Control-Allow-Origin' '*'; #proxy_redirect デフォルト; #プロキシ サーバーへの接続のタイムアウト。このタイムアウトは 75 秒を超えることはできません。サーバーに障害が発生した場合、10 秒後に別のサーバーに転送されます。 プロキシ接続タイムアウト 10; } 場所 / メッセージ { proxy_pass http://メッセージ; proxy_set_header ホスト $host:$server_port; } } この時点で、http://localhost/message にアクセスすると、http://localhost:8080/message に転送されます。 Nginx 構成 Https企業がウェブサイトに対して高いセキュリティ要件を持っている場合、Nginx で Https を設定できます。具体的な設定情報は、次のとおりです。 アップストリームメッセージ{ サーバー localhost:8080 max_fails=3; } サーバー{ 443 ssl を聴く; server_name ローカルホスト; ssl_certificate /usr/local/nginx-1.17.8/conf/keys/binghe.pem; ssl_certificate_key /usr/local/nginx-1.17.8/conf/keys/binghe.key; ssl_session_timeout 20分; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers をオン; ssl_verify_client をオフ; 位置 / { ルートhtml; インデックス index.html index.htm; #クロスドメインアクセスを許可する add_header 'Access-Control-Allow-Origin' '*'; #プロキシ サーバーへの接続のタイムアウト。このタイムアウトは 75 秒を超えることはできません。サーバーに障害が発生した場合、10 秒後に別のサーバーに転送されます。 プロキシ接続タイムアウト 10; } 場所 / メッセージ { proxy_pass http://メッセージ; proxy_set_header ホスト $host:$server_port; } } このとき、https://localhost/message にアクセスすると、http://localhost:8080/message に転送されます。 Nginx 構成 WSWS の完全な名前は WebSocket です。Nginx で WebSocket を構成することも比較的簡単です。nginx.conf ファイルで対応する構成を行うだけです。この方法はシンプルですが効果的であり、WebSocket サーバーのサービス機能を水平方向に拡張できます。 友人たちの理解を深めるために、ここでは Nginx 構成 WS に焦点を当てます。 まず、以下のように設定ファイルを直接表示します(使用する場合は、コピーして IP とポートを変更するだけです)。 マップ $http_upgrade $connection_upgrade { デフォルトのアップグレード。 '' 近い; } アップストリーム wsbackend{ サーバー ip1:port1; サーバー ip2:port2; キープアライブ1000; } サーバー{ 聞く 20038; 位置 /{ プロキシ_http_バージョン 1.1; proxy_pass http://wsbackend; proxy_redirect オフ; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 3600秒; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header アップグレード $http_upgrade; proxy_set_header 接続 $connection_upgrade; } } 次に、上記の構成の具体的な意味をそれぞれ分析します。 初め: マップ $http_upgrade $connection_upgrade { デフォルトのアップグレード。 '' 近い; } それは次のことを意味します:
第二に: アップストリーム wsbackend{ サーバー ip1:port1; サーバー ip2:port2; キープアライブ1000; } これは nginx の負荷分散を表します: 2 つのサーバー (ip1:port1) と (ip2:port2)。 keepalive 1000 は、各 nginx プロセスでアップストリーム サーバーによって維持されるアイドル接続を示します。アイドル接続が多すぎると、最も使用されていないアイドル接続が閉じられます。もちろん、これは接続の総数を制限するものではありません。アイドル接続プールのサイズとして考えることができます。設定値は、アップストリーム サーバーが耐えられる値である必要があります。 やっと: サーバー{ 聞く 20038; 位置 /{ プロキシ_http_バージョン 1.1; proxy_pass http://wsbackend; proxy_redirect オフ; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 3600秒; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header アップグレード $http_upgrade; proxy_set_header 接続 $connection_upgrade; } } リスニングサーバーの構成を表します
この時点で、ws://localhost:20038 へのアクセスは ip1:port1 と ip2:port2 に転送されます。 Nginx 構成 WSSWSS は WebSocket + Https の略で、簡単に言えばセキュア WebSocket です。次に、WSS を構成する方法を見てみましょう。 WS を設定する際に、設定内容が詳細に説明されています。ここでは詳細には触れません。 マップ $http_upgrade $connection_upgrade { デフォルトのアップグレード。 '' 近い; } アップストリーム wsbackend{ サーバー ip1:port1; サーバー ip2:port2; キープアライブ1000; } サーバ{ 20038 ssl を聴く; server_name ローカルホスト; ssl_certificate /usr/local/nginx-1.17.8/conf/keys/binghe.com.pem; ssl_certificate_key /usr/local/nginx-1.17.8/conf/keys/binghe.com.key; ssl_session_timeout 20分; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers をオン; ssl_verify_client をオフ; 位置 /{ プロキシ_http_バージョン 1.1; proxy_pass http://wsbackend; proxy_redirect オフ; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 3600秒; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header アップグレード $http_upgrade; proxy_set_header 接続 $connection_upgrade; } } この時点で、wss://localhost:20038 へのアクセスは ip1:port1 と ip2:port2 に転送されます。 Nginx で Http、Https、WS、WSS を設定する方法についてはこれで終わりです。Nginx で Http、Https、WS、WSS を設定する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: JavaScript での && および || 演算子の使用例
目次概要実装保護エージェント仮想エージェント画像の遅延読み込みを実現する仮想プロキシ概要プロキシ パ...
序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...
WindowsにTomCatをインストールするこの記事では、WindowsプラットフォームにTomC...
テキストシャドウの紹介CSSでは、 text-shadowプロパティを使用してテキストの影を設定しま...
RabbitMQをインストールする前にSocatをインストールする必要があります。そうしないと、Ra...
ブランクのブログ: http://www.planabc.net/ innerHTML プロパティは...
目次序文 👀リサーチを始めましょう🐱🏍オリジナル🧶 indexOf を使用した元の方法の最適化 ✍...
メモリリークとは何ですか?メモリ リークとは、新しいメモリが作成されたが、解放またはガベージ コレ...
1 MVCCとは何かMVCC の正式名称は、マルチバージョン同時実行制御です。データベースへの同時ア...
目次1. はじめに2. 本文2.1 Where句の位置2.2 演算子2.3 NULL値1. はじめに...
この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...
HTML で境界線を設定する 3 つの方法 境界線の幅: 1px 2px 2px; 境界線のスタイル...
基本的にすべてのeコマースプロジェクトにはショッピングカートの機能があります。これはreact-na...
以下では、よく使われるヘッド構造と、各タグや要素の意味や使用シーンを紹介します(この記事は、Yisi...
translate と transition は非常に強力で、習得するのは不可能だといつも感じていま...