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

推薦する

Vueでアイコンをカスタマイズする手順

ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...

JS ES の新機能、変数分離割り当て

目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...

MySQL をインストールした後に調整する必要がある 10 のパフォーマンス設定項目

このブログでは、MySQL データベースをインストールした後に調整することが推奨される 10 のパフ...

InnoDB エンジンのパフォーマンスを最適化するための my.cnf パラメータ構成

私はインターネット上で数え切れないほどの my.cnf 構成を読みましたが、言及されている構成のほと...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...

7つのMySQL JOINタイプのまとめ

始める前に、これから紹介する JOIN タイプを示すために 2 つのテーブルを作成します。テーブルを...

Tomcatの再構成後に起動が遅くなる問題を迅速に解決

Jenkins+Tomcatサーバーの設定中に、Tomcat設定ファイルが変更され、サーバーのTom...

HTMLはBaidu百科事典のナビゲーションドロップダウンメニュー機能を模倣します

HTML は、Baidu 百科事典のナビゲーション ドロップダウン メニュー機能を模倣します。具体的...

Dockerを使用してDjango+MySQL8開発環境をデプロイする方法の詳細な説明

しばらく前にシステムを再インストールしましたが、バックアップを取っていなかったので、コンピューター上...

VMware 仮想マシンでの CentOS7 ネットワーク構成 (ホストのワイヤレス インターネット アクセス)

CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

HTML フレームセットのサンプルコード

この記事では、Frameset が作成した、できるだけシンプルなフレームワークを紹介します。さて、ま...

Docker で Spring-boot プロジェクトをデプロイするためのサンプル コード

1. 基本的な Spring-boot クイックスタート1.1 クイックスタート pom.xml は...

DockerにMinIOをインストールするための詳細な手順

目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...

シンプルなページカウントダウンを実現するJavaScript

この記事では、参考までに、シンプルなページカウントダウンを実装するためのJavaScriptの具体的...