SSL で Nginx リバース プロキシを構成する簡単な手順

SSL で Nginx リバース プロキシを構成する簡単な手順

序文

リバース プロキシは、Web 経由で行われたリクエスト (http と https の両方) を受信し、それをバックエンド サーバー (1 つまたは複数のサーバー) に送信するサーバーです。バックエンド サーバーは、Tomcat、wildfly、Jenkins などの単一または複数のアプリケーション サーバー、あるいは Apache などの他の Web サーバーにすることもできます。

Nginx を使用してシンプルな http リバース プロキシを構成する方法について説明しました。このチュートリアルでは、SSL を使用して Nginx リバース プロキシを構成する方法について説明します。それでは、SSL を使用して Nginx リバース プロキシを構成するプロセスから始めましょう。

前提条件

1. バックエンドサーバー: このチュートリアルでは、ポート8080でローカルホスト上で実行されているTomcatサーバーを使用します。

注意: - リクエストのプロキシを開始するときは、アプリケーション サーバーが起動していることを確認してください。

2.SSL 証明書: サーバー上で SSL 証明書も設定する必要があります。 Let's Encrypt 証明書を使用できます。ここで説明する手順を使用して証明書を取得できます。しかし、このチュートリアルでは、ターミナルから次のコマンドを実行して作成できる自己署名証明書を使用します。

$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/cert.key -out /etc/nginx/certs/cert.crt

nginxリバースプロキシをsslで設定する次のステップはnginxのインストールです。

Nginxをインストールする

ウブントゥ

Nginx はデフォルトの Ubuntu リポジトリで利用できます。とても簡単です。次のコマンドを使用してインストールします。

$ sudo apt-get update && sudo apt-get install nginx

サービスを開始して起動を有効にします。

# systemctl nginxを起動します 
 
# systemctl で nginx を有効にする

ここで、nginx のインストールを確認するには、Web ブラウザーを開き、システム IP を URL として入力してデフォルトの nginx Web ページを取得し、nginx が正常に動作していることを確認できます。

SSL で Nginx リバース プロキシを構成する

これで、SSL を使用して nginx リバース プロキシを構成するために必要なものがすべて揃いました。次に、nginx でこれを設定する必要があります。デフォルトの nginx 設定ファイルである /etc/nginx/conf.d/default.conf を使用します。

構成に変更を加えるのは今回が初めてだと仮定して、ファイルを開いて古いファイルの内容をすべて削除またはコメント アウトし、次のエントリをファイルに追加します。

vi /etc/nginx/conf.d/default.conf

サーバー{ 
 
聞く 80; 
 
301 https://$host$request_uri を返します。 
 
} 
 
 
 
 
サーバー{ 
 
聞く 443; 
 
サーバー名 linuxtechlab.com; 
 
ssl_certificate /etc/nginx/ssl/cert.crt; 
 
 
 
 
ssl_certificate_key /etc/nginx/ssl/cert.key; 
 
sslオン; 
 
ssl_session_cache 組み込み:1000 共有:SSL:10m; 
 
ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2; 
 
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
 
ssl_prefer_server_ciphers をオン; 
 
アクセスログ /var/log/nginx/access.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_set_header X-Forwarded-Proto $scheme; 
 
proxy_pass http://localhost:8080; 
 
プロキシ読み取りタイムアウト 90; 
 
proxy_redirect http://localhost:8080 https://linuxtechlab.com; 
 
} 
 
}

すべての変更が完了したら、ファイルを保存して終了します。変更を適用するために nginx サービスを再起動する前に、セクションごとに行った構成を確認します。

セクション1

サーバー{ 
聞く 80; 
301 https://$host$request_uri を返します。 
}

ここでは、ポート 80 へのすべてのリクエストをリッスンし、それらを https にリダイレクトするように指示しています。

セクション2

聞く 443; 
 
サーバー名 linuxtechlab.com; 
 
ssl_certificate /etc/nginx/ssl/cert.crt; 
 
ssl_certificate_key /etc/nginx/ssl/cert.key; 
 
sslオン; 
 
ssl_session_cache 組み込み:1000 共有:SSL:10m; 
 
ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2; 
 
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
 
ssl_prefer_server_ciphers をオン;

これらは、nginx Web サーバーにどのプロトコル バージョンと SSL 暗号がサポートされているかを通知する、使用しているデフォルトの nginx ssl オプションの一部です。

セクション3

位置 / { 
 
proxy_set_header ホスト $host; 
 
proxy_set_header X-Real-IP $remote_addr; 
 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
 
proxy_set_header X-Forwarded-Proto $scheme; 
 
proxy_pass http://localhost:8080; 
 
プロキシ読み取りタイムアウト 90; 
 
proxy_redirect http://localhost:8080 https://linuxtechlab.com; 
 
}

このセクションでは、プロキシと、着信リクエストが到着した後にどこに行くかについて説明します。すべての構成について説明したので、nginx サービスを確認して再起動します。

nginxを確認するには、次のコマンドを実行します。

# nginx -t

すべての設定ファイルが正常になったら、nginxサービスを再起動します。

# systemctl nginxを再起動します

これで、SSL Nginx リバース プロキシの準備が整いました。セットアップをテストするには、Web ブラウザを開いて URL を入力するだけです。これで、Apache Tomcat の Web ページにリダイレクトされるはずです。

これで、SSLを使用したnginxリバースプロキシの設定方法に関するチュートリアルは完了です。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Nginx リバース プロキシ構成の完全なプロセス記録
  • 中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)
  • Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例
  • Nginxリバースプロキシ設定でプレフィックスが削除される
  • nginxリバースプロキシのyum設定の詳細な手順
  • nginxリバースプロキシwebSocket設定の詳細な説明
  • リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース
  • プレフィックスケースを削除する Nginx リバース プロキシ構成のチュートリアル

<<:  WeChatミニプログラムビデオ集中砲火位置ランダム

>>:  MySQL 5.7.21 のインストールと設定方法のグラフィックチュートリアル (ウィンドウ)

推薦する

VMware Workstation と vSphere 間で仮想マシンを移行する (画像とテキスト)

1. Workstationで仮想マシンのハードウェアバージョンを変更するWorkstation ...

SSMプロジェクトは、ホットデプロイメント構成を実装するためにTomcatとMavenを使用してWARパッケージとしてデプロイされることが多い。

背景ご存知のとおり、JavaEE プロジェクトを開発した後は、そのプロジェクトをサーバーの Tomc...

Vue3+TypeScriptは再帰メニューコンポーネントの完全な例を実装します

目次序文必要成し遂げる最初のレンダリングメニュー項目をクリックしますスタイルの区別デフォルトのハイラ...

Linux システムでデプロイメント プロジェクトを設定する方法

1. ファイアウォールの設定を変更し、対応するポートを開きますLinux システムのファイアウォール...

CentOS8 jdk8 / java8 のインストールチュートリアル(推奨)

序文最初はCentOS8でwgetを使ってダウンロードし、解凍して環境変数を設定するつもりだったので...

WeChat アプレット wxss で外部 CSS ファイルとアイコンフォントを参照する方法

原因外部ファイルをミニプログラムにインポートする方法は次のとおりです: @import "...

Reactフックとzarmコンポーネントライブラリ構成に基づいてh5フォームページを開発するためのサンプルコード

最近、React Hooks を zarm コンポーネント ライブラリと組み合わせて使用​​し、js...

Windows Server 2008 R2 で忘れたパスワードを処理する方法

Windows Server 2008R2を忘れた場合の対処方法サーバーの数が多すぎる、サーバーが多...

MySQL データベースの大文字と小文字の区別の問題

MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応します。データベース内の各...

JavaScriptはボタンをクリックして4桁のランダムな検証コードを生成します

この記事の例では、ボタンをクリックすることで4桁のランダムな検証コードを生成するjsの具体的なコード...

JSはプログレスバーのスムーズバージョンの詳細な計画を実装します

進捗バーがスムーズではないフロントエンドを学ぶ学生のほとんどは、オーディオプレーヤーやビデオプレーヤ...

CSS と JS を使用して下線効果を実装する方法の例

この記事では、主に 2 種類の下線の動的効果について説明します。1 つ目は、ホバーすると X 軸が内...

NavicatがLinuxサーバー上のMySQLに接続できない問題を解決する

最初は悲しい気持ちになりました。スクリーンショットは以下の通りです。 少し苦労しましたが、解決策は次...

よくある CSS エラーと解決策

コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...

Linuxターミナルでの一般的なMySQL操作コマンドの詳細な説明

仕える: # chkconfig --list すべてのシステム サービスを一覧表示します # ch...