ホームページ  >  記事  >  運用・保守  >  SSLを使用してNginxリバースプロキシを構成する方法

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

PHPz
PHPz転載
2023-05-13 15:19:151428ブラウズ

前提条件

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 までご連絡ください。