Nginx リバース プロキシ学習例チュートリアル

Nginx リバース プロキシ学習例チュートリアル

1. リバースプロキシの準備

1. LinuxシステムにTomcatをインストールする

tomcat を /usr/src に解凍します。起動するにはjdk環境が必要です。 jdk 環境がない場合はインストールしてください。私の Centos7 には jdk1.8 が付属しています。

画像の説明を追加してください

2. Tomcatを起動する

tomcat の bin ディレクトリに入ると、startup.sh ファイルがあります。

画像の説明を追加してください

./startup.shはTomcatサーバーを起動します

画像の説明を追加してください

3. 外部アクセスに開放されたポート

現在開いているポート番号を表示する

ファイアウォールコマンド --list-all

開いているポート番号を設定する

ファイアウォールコマンド --add-port=80/tcp --permanent
ファイアウォールコマンド --add-port=8080/tcp --permanent

ファイアウォールを再起動する

ファイアウォール-cmd --reload

4. tomcatへのアクセスをテストする

http://192.168.1.173:8080/

画像の説明を追加してください

これで事前準備完了です!!

2. リバースプロキシケース(I)

1. 成果を達成する

ブラウザを開き、ブラウザのアドレスバーにwww.123.comと入力して、LinuxシステムのTomcatページに移動します。

画像の説明を追加してください

2. 具体的な構成

ステップ1: ローカルの/etc/hostsファイルに追加する

画像の説明を追加してください

2番目のステップは、nginxでリクエスト転送を構成することです(リバースプロキシ構成)

/usr/local/nginx/conf をコピーします。
vim nginx.conf

コンテンツを修正して追加する

画像の説明を追加してください

3. テスト

www.123.comをご覧ください

画像の説明を追加してください

nginx の IP にアクセスして tomcat にアクセスします。成功しました。 ! ! !

2. リバースプロキシケース(II)

成果を達成する

nginx リバース プロキシを使用して、アクセス パスに応じて異なるポートのサービスにジャンプします。nginx のリスニング ポートは 9001 です。

  • http://192.168.1.173/edu/ にアクセスし、192.168.1.173:8080 に直接ジャンプします。
  • http://192.168.1.173:9001/vod/ にアクセスし、192.168.1.173:8081 に直接ジャンプします。

1. 準備

(1)ポート8080とポート8081を持つ2つのTomcatサーバーを用意する

(2)フォルダを2つ作成し、各フォルダにTomcatの圧縮パッケージを入れて解凍し、いずれかのTomcatファイルのconfファイルにあるserver.xmlファイルを変更してポートを8081に変更します。

(3)webappsファイルの下にeduフォルダとvodフォルダを作成し、そのフォルダ内にポート番号を表示するa.htmlテストページを作成します。

2. 具体的な構成

(1)nginx設定ファイルを見つけてリバースプロキシを設定する

画像の説明を追加してください

(2)外部アクセス用のポートを開く:9001 8080 8081

場所指令の説明

このディレクティブはURLを一致させるために使用されます

構文は次のとおりです。

場所 [ = | ~ | ~* | ^~] uri {

}

1. =: 正規表現を含まないURIの前に使用され、リクエスト文字列がURIと厳密に一致することを要求します。一致する場合

成功した場合は、それ以上の検索を中止し、リクエストを直ちに処理します。

2. ~: URI に正規表現が含まれており、大文字と小文字が区別されることを示すために使用されます。

3. ~*: URI に正規表現が含まれており、大文字と小文字が区別されないことを示すために使用されます。

4. ^~: 正規表現なしでURIの前に使用され、Nginxサーバーが識別子URIとリクエスト文字列を見つけることを要求する

文字列の一致度が最も高い場所が見つかった後、その場所の代わりにこの場所を使用してリクエストが直ちに処理されます。

ブロック内の通常の URI は、リクエスト文字列と照合されます。

注: URI に正規表現が含まれている場合は、~ または ~ 記号が存在する必要があります *

最終テスト

画像の説明を追加してください画像の説明を追加してください

要約する

Nginx リバース プロキシの学習に関するこの記事はこれで終わりです。より関連性の高い Nginx リバース プロキシ コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginxリバースプロキシはさまざまな状況でのクロスドメインの問題を解決します
  • Nginx ルーティング転送とリバースプロキシロケーション構成の実装
  • Nginx イントラネット スタンドアロン リバース プロキシの実装
  • Nginx リバース プロキシを使い始める
  • nginx リバースプロキシと詳細な使用方法

<<:  MYSQLの主キー制約とユニーク制約の違いについて簡単に説明します。

>>:  選択を読み取り専用で編集不可に設定し、選択値を通過可能に設定する方法

推薦する

HTML テーブルタグチュートリアル (20): 行の背景色属性 BGCOLOR

BGCOLOR 属性を使用して、行の背景色を設定できます。基本的な構文<TR BGcolor...

docker compose の記述ルールについての簡単な説明

この記事ではクラスタの展開に関連する内容は紹介しませんバージョン制約Docker エンジン >...

Linux システムで MySQL データベースにリモート接続する方法のチュートリアル

序文最近、職場でこの要件に遭遇し、リモート接続を確立するのに 1 時間以上かかりました。ローカル コ...

Vue3の状態管理の使用方法の詳細な説明

目次背景提供/注入共有状態の抽出データを提供するデータの挿入まとめ反応的な共有状態の抽出共有状態の使...

MySQL シリーズ 13 MySQL レプリケーション

目次1. MySQLレプリケーション関連の概念2. シンプルな1マスター1スレーブアーキテクチャの実...

MySQL は information_schema オブジェクトの付与をバイパスし、ERROR 1044 (4200) エラーを報告します

この質問は、MySQL の権限に関する WeChat グループのネットユーザー間の議論です。次のよう...

Puppeteer を使用して Linux (CentOS) で Web ページのスクリーンショット機能を実装する

Linux に puppeteer をインストールするときに、次の問題が発生する可能性があります。こ...

初心者がHTMLタグを学ぶ(3)

HTML に触れる初心者は、いくつかの HTML タグを学びます。関連記事:初心者が学ぶ HTML...

MySQL で期限切れのデータレコードを定期的に削除する簡単な方法

1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...

DIV の一般的なタスク (パート 1) — 一般的なタスク (スクロール バーの表示、div の非表示、イベント バブリングの無効化など)

最も一般的に使用されるレイアウト要素として、DIV は Web 開発において重要な役割を果たします。...

CSSはフロートをシミュレートして、画像の左右を囲む中央テキストの効果を実現します。

画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...

MySQLでテーブルを作成し、フィールドコメントを追加する方法

コードと例を直接投稿する #テーブル作成時にコメントを記述する CREATE TABLE useri...

MySQL のデータ型とスキーマの最適化の詳細な説明

現在、MySQL の最適化について学習しています。この記事では、データ型とスキーマの最適化について紹...

JPG、GIF、PNGなどのさまざまな画像形式の詳細な説明

ウェブページ上の画像が一般的に jpg、gif、png 形式であることは誰もが知っています。それらの...