前面に書かれた今日のインターネット分野では、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 での && および || 演算子の使用例
パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...
LNMP とは: Linux+Nginx+Mysql+(php-fpm、php-mysql)つまり、...
CSSを使用してスクロールバーを変更する1.コンテンツがオーバーフローした場合のオーバーフロー設定水...
MySQL のデータ型は datetime です。データベースに保存されているデータは 2015-0...
目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...
<body style="scroll:no"> <テーブルの...
Web アプリケーション クラス1. みんなのためにダウンまたは私だけのためにこのウェブサイトは、ウ...
1. はじめにコンテナはサンドボックス メカニズムを使用して相互に分離します。コンテナ内にデプロイさ...
フォームのコードは図の通りです。スタイルシートがまだ追加されていないため、フォームが整列されておらず...
序文:先週の日曜日、先輩から3ページ作るのを手伝って欲しいと頼まれました。データのやり取りなどはなく...
目次DragEvent インターフェースデータ転送インターフェースの概要DataTransfer の...
目次ファーストルックインデックスインデックスの概念インデックスファイルの構成インデックスの役割SQL...
序文開発プロセスにおいて、変数の定義は非常に頻繁かつ基本的なタスクです。変数の使用シナリオと範囲に応...
コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...
現在、Docker には中国向けの公式ミラーがあります。詳細については、https://www.do...