複数のドメイン名に対する 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ミニプログラムでのマップの正しい使用例

推薦する

IE8対応のボーダー半径処理方法

canisue (http://caniuse.com/#search=border-radius)...

画像をハイパーリンクとして使用したときに表示される青いボックスを削除する方法

最近、Dreamweaver を使用して製品プレゼンテーションを作成し、画像にハイパーリンクを追加し...

Vue+Websocketはチャット機能を実装するだけです

この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...

seata docker 高可用性デプロイメントの詳細な紹介

バージョン1.4.2公式ドキュメントドッカーハブ起動する環境変数SEATA_CONFIG_NAMEを...

ElementUIはカスケードセレクタを実装します

この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

Nginxを使ってサーバー内で複数コンテナの共存を実現する方法

背景Tencent Linux クラウド ホストがあり、その上に Docker (ServiceDo...

CSSはコーナーカット+ボーダー+投影+コンテンツ背景色のグラデーション効果を実現します

CSS を使用するだけで、コーナーカット + ボーダー + 投影 + コンテンツの背景色のグラデーシ...

MySQL の CPU 負荷が高い問題のトラブルシューティング

MySQL による CPU 負荷の上昇今日の午後、MySQL によってサーバーの負荷が高くなる問題を...

NavicatがMySQLに接続すると、10060、1045エラーとmy.iniの場所が報告されます。

Navicat は、データベースに接続するときにエラー 10060 および 1045 を報告します...

サブセットかどうかを判断するためのMySQLメソッドの手順

目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...

HTML マークアップ言語 - テーブルタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...

MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

MySQLのダウンロードとインストール(バージョン8.0.20)のチュートリアルは参考までに、具体的...

AIX マウント NFS の書き込み効率が低い場合の解決策

NFSが提供するサービスマウント: サーバー上で /usr/sbin/rpc.mountd サーボ ...