複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装

複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装

現在、Nginx は、Web サービスを提供するために、Windows ベースの IIS と Linux ベースの Apache サーバーの 2 つの Web サイトをリバース プロキシしています。

現在、外部にサービスを提供する必要がある新しいプロジェクト Web ページがあります。プロキシ サーバーに別の Web サイトを追加し、HTTPS アクセスを使用して、HTTP から HTTPS に自動的にジャンプする必要があります。新しい Web ページは静的ページなので、Docker を使用して Nginx プロキシ サーバーにデプロイされます。関連する証明書は Let's Encrypt を通じて取得されます。これらはすべて個別の証明書であり、ワイルドカード証明書は適用されません。

Nginx プロキシ側に SSL 証明書を展開するだけで済みます。バックエンドに SSL を展開せずに HTTPS アクセスを実装することもできます。

Nginx プロキシ サーバーの構成:

ワーカープロセスは自動です。

error_log /var/log/nginx/error.log 警告;
pid /var/run/nginx.pid;

イベント {
 ワーカー接続 1024;
}

http {
 /usr/local/nginx/conf/mime.types をインクルードします。
 デフォルトタイプ アプリケーション/オクテットストリーム;

 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';

 access_log /var/log/nginx/access.log メイン;

 ファイル送信オン;
 tcp_nopush オン;
 tcp_nodelay オン;

アップストリーム dx.exzel.co.nz {

 サーバー 127.0.0.1:8080;
}

アップストリーム mybusiness.exzel.co.nz {

 サーバー 192.168.1.252:443;
}

サーバー{
 聞く 80;
 サーバー名 dx.exzel.co.nz;
 ^(.*) https://dx.exzel.co.nz を永久に書き換えます。
}
サーバー{
 聞く 443;
 サーバー名 dx.exzel.co.nz;
 sslオン;
 ssl_certificate /etc/letsencrypt/live/dx.exzel.co.nz/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/dx.exzel.co.nz/privkey.pem;
 ssl_session_timeout 5分;
 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 をオン;
 アクセスログ /var/log/nginx/ccieerror.log ;
 位置 / {
   proxy_set_header ホスト $host;
   proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://dx.exzel.co.nz;

 }
}

サーバー{
 聞く 80;
 サーバー名 mybusiness.exzel.co.nz;
 ^(.*) https://mybusiness.exzel.co.nz を永続的に書き換えます。
}
サーバー{
 聞く 443;
 サーバー名 mybusiness.exzel.co.nz;
 sslオン;
 ssl_certificate /etc/letsencrypt/live/mybusiness.exzel.co.nz/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/mybusiness.exzel.co.nz/privkey.pem;
 ssl_session_timeout 5分;
 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 をオン;
 アクセスログ /var/log/nginx/mybusiness.log ;
 位置 / {
   proxy_set_header ホスト $host;
   proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass https://mybusiness.exzel.co.nz;

 }
}

サーバー{
 聞く 80;
 サーバー名 www.empnz.co.nz empnz.co.nz;
  位置 / {
    プロキシパス http://192.168.1.15 ;
    }
 }

}

Nginx リバース プロキシを使用した複数ドメイン名の HTTP および HTTPS サービスの実装に関するこの記事はこれで終わりです。Nginx リバース プロキシ HTTP および HTTPS に関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • nginx httpsリバースプロキシtomcatを実装する2つの方法
  • Nginx サーバーの https 設定方法の例
  • nginx サーバーの http を https にリダイレクトする正しい方法の詳細な説明
  • Nginx による https サーバー構築チュートリアル
  • Alibaba Cloud LINUXサーバーでのHTTPS(NGINX)設定の詳細な説明
  • Nginx で HTTPS サーバーを構築し、HTTPS アクセスを強制する方法
  • Windows で Nginx を使用して https サーバーとリバース プロキシを構成する際の問題

<<:  vue3 のさまざまなファイルタイプのプレビュー機能の例

>>:  WeChatミニプログラムでのマップの正しい使用例

推薦する

HTML 要素 (タグ) とその使用法

a : ハイパーリンクの開始位置または宛先位置を示します。頭字語: 単語の最初の文字からなる略語を示...

CentOS 7 で MySQL 8 の複数のインスタンスを設定する詳細なチュートリアル (必要な数だけ設定できます)

原因最近、プロジェクトのリファクタリングを始めたのですが、マスタースレーブと読み取り書き込み分離を使...

MySQLの手順を完全に削除する

目次1. まずMySQLサーバーを停止する2. MySQLサーバーをアンインストールする3. MyS...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

React のクラスからフックへの移行

目次リアクトフック序文なぜフックなのか?クラス関数クラスとフックの比較フックはコンポーネントの状態を...

Linux 最速のテキスト検索ツール ripgrep (grep の最良の代替)

序文テキスト検索ツールといえば、Linux で最も便利でよく使われるツールの 1 つである grep...

Linux Crontab シェル スクリプトを使用して第 2 レベルのスケジュールされたタスクを実装する方法

1. シェルスクリプトcrontab.shを書く #!/bin/bash step=1 #ステップ間...

HTML の <input> タグの詳細な説明と、それを無効にする方法

定義と使用法<input> タグはユーザー情報を収集するために使用されます。 type ...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

Vue を使用して CSS トランジションとアニメーションを実装する方法

目次1. トランジションとアニメーションの違い2. Vueを使用して基本的なCSSトランジションとア...

UbuntuからMySQLを削除して再インストールする方法

まずmysqlを削除します: sudo apt-get remove mysql-*残ったデータをク...

mysql ルートユーザーを認証できず、Navicat リモート認証プロンプト 1044 の問題を解決します

まず解決策を見てみましょう #------------mysql の root ユーザーに権限を付与...

Vueがビデオアップロード機能を実装

この記事では、参考までに、ビデオアップロード機能を実現するためのVueの具体的なコードを紹介します。...