SSLを使用してNginxリバースプロキシを構成する方法

PHPz
リリース: 2023-05-13 15:19:15
転載
1473 人が閲覧しました

前提条件

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
ログイン後にコピー

ssl を使用した nginx リバース プロキシの構成の次のステップは、nginx のインストールです。 ,

nginxのインストール

ubuntu
##nginxはデフォルトのubuntuリポジトリで利用できます。非常に簡単です。次のコマンドを使用してインストールします。

$ sudo apt-get update && sudo apt-get install nginx
ログイン後にコピー

次に、サービスを開始してスタートアップを有効にします。

# systemctl start nginx 
 
# systemctl enable nginx
ログイン後にコピー

次に、nginx のインストールを確認します。Web ブラウザを開いてシステムに入ることができます。デフォルトの nginx Web ページを取得するための URL として ip を使用すると、nginx が適切に動作していることが確認されます。

ssl を使用した nginx リバース プロキシの構成


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

を使用します。構成 、ファイルを開いて古いファイルの内容をすべて削除またはコメントアウトしてから、次のエントリをファイルに追加します。

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

server { 
 
listen 80; 
 
return 301 https://$host$request_uri; 
 
} 
 
 
 
 
server { 
 
listen 443; 
 
server_name linuxtechlab.com; 
 
ssl_certificate /etc/nginx/ssl/cert.crt; 
 
 
 
 
ssl_certificate_key /etc/nginx/ssl/cert.key; 
 
ssl on; 
 
ssl_session_cache builtin:1000 shared:ssl:10m; 
 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
 
ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; 
 
ssl_prefer_server_ciphers on; 
 
access_log /var/log/nginx/access.log; 
 
 
 
 
location / { 
 
proxy_set_header host $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; 
 
proxy_read_timeout 90; 
 
proxy_redirect http://localhost:8080 https://linuxtechlab.com; 
 
} 
 
}
ログイン後にコピー

すべての変更を完了したら、ファイルを保存して終了します。 nginx サービスを再起動して変更を実装する前に、作成した構成についてセクションごとに説明します。

セクション 1

server { 
listen 80; 
return 301 https://$host$request_uri; 
}
ログイン後にコピー

ここでは、ポート 80 へのリクエストをリッスンし、https にリダイレクトすることを示します。

セクション 2

listen 443; 
 
server_name linuxtechlab.com; 
 
ssl_certificate /etc/nginx/ssl/cert.crt; 
 
ssl_certificate_key /etc/nginx/ssl/cert.key; 
 
ssl on; 
 
ssl_session_cache builtin:1000 shared:ssl:10m; 
 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
 
ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; 
 
ssl_prefer_server_ciphers on;
ログイン後にコピー

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

セクション 3

location / { 
 
proxy_set_header host $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; 
 
proxy_read_timeout 90; 
 
proxy_redirect http://localhost:8080 https://linuxtechlab.com; 
 
}
ログイン後にコピー

次に、このセクションではプロキシと受信リクエストの受信場所について説明します。すべての構成について説明したので、nginx サービスを確認して再起動します。

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

# nginx -t
ログイン後にコピー
すべての設定ファイルに問題がなければ、nginx サービスを再起動します。

# systemctl restart nginx
ログイン後にコピー

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

以上がSSLを使用してNginxリバースプロキシを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!