序文 リバース プロキシは、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 をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: WeChatミニプログラムビデオ集中砲火位置ランダム
>>: MySQL 5.7.21 のインストールと設定方法のグラフィックチュートリアル (ウィンドウ)
<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...
1. 構造部品1. フォームには、入力コントロール、標準フォーム フィールド、ラベル、ドロップダウン...
1: インストールコマンドpip install docker-compose例外情報socket....
覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...
以下のように表示されます。 //managefee_managefee テーブルの年と月を照会し、c...
日々の開発において、フロントエンドの学生はアニメーションやデザインについてよく議論します。デザイナー...
目次1. ダウンロード2. 展開3. Nginxログ関連の設定4. ファイルダウンローダーとして n...
1. トップレベルの使用法1. cnpmをインストールする npm i -g cnpm --regi...
以前、「MySQL でコミットされていないトランザクション情報を検索する方法」というタイトルのブログ...
導入GitLab CE または Community Edition は、主に Git リポジトリのホ...
Centos7 の yum ソースには、mysql の代わりに mariaDB が使用されているため...
目次1. setTimeout() タイマー2. setTimeout() タイマーを停止する3. ...
MySQL には、10 進数などの標準データ型だけでなく、float や double などの非標...
管理者権限でcmdを実行する slmgr /ipk CB7KF-BWN84-R7R2Y-793K2-...
ある日、リーダーはメイン ページに iframe を埋め込み、親ページと子ページ間で双方向にメッセー...