わずか 3 ステップで Docker を使用して Nginx リバース プロキシを作成する

わずか 3 ステップで Docker を使用して Nginx リバース プロキシを作成する

Web アーキテクチャでは、俊敏性とスケーラビリティが不可欠であり、最適なパフォーマンスを確保しながらサービスを管理する必要があります。

この目的を達成するには、リバース プロキシを使用できます。リバース プロキシは非常に柔軟性が高く、クライアントとサーバー間のやり取りと通信を簡素化します。

図に示すように、リバース プロキシは、さまざまな部署やエリアがある建物内の受付係のようなものです。受付担当者は顧客または訪問者を適切な部署に誘導します。彼らは訪問者の誘導、問い合わせへの対応、さまざまな部門間の分配の確保を担当します。

写真

リバース プロキシの用途は次のとおりです。

  1. スケーラビリティのための負荷分散。
  2. SSL と TLS を終了します。
  3. サブドメインを特定のパスにマップします。

この記事では、Nginx と Docker コンテナを使用してリバース プロキシを設定します。

ステップ1. アプリケーションを作成する

完全なコードをダウンロードしてください。

まず、プロキシとして機能するアプリケーションを構築します。

このアプリケーションの / エンドポイントにアクセスしたときに単純な HTML ページを表示する Docker ファイルを作成します。

 FROM nginx:stable-alpine COPY index.html /usr/share/nginx/html/index.html

index.html ファイルは次のとおりです。

 <h1>This is the main app</h1>

このアプリケーションを実行するための簡単な Docker Compose ファイルを作成します。

 version : '3.7' services : web: build: . ports: - "8080:80"

次のコマンドを実行して Docker Compose を起動します。

 docker-compose up

localhost:8080 にアクセスすると、次のように表示されます。

写真

同様の方法で、2 つの HTML ファイルと同じ Dockerfile を使用して、2 つの異なるアプリケーションを作成します。

 This is html file for app1 <h1>This is APP 1</h1> This is html file for app2 <h1>This is APP 2</h1>

Docker Compose ファイルを変更して、次の 2 つのコンテナを起動します。

 version : '3.7' services : web: build: . ports: - "8080:80" restart: always app1: build: ./app1/ ports: - "8085:80" restart: always app2: build: ./app2 ports: - "8010:80" restart: always

ポート 8085 および 8010 にアクセスすると、次の内容が表示されます。

写真

ステップ2: Nginxの設定を記述する

/app にアクセスするときに app1 と app2 の間でプロキシするように Nginx 構成ファイルを書き込み、/ エンドポイントにメイン ページのみを表示します。

Nginx の設定は次のようになります。

 worker_processes 1; ## Default: 1 worker_rlimit_nofile 8192; http { upstream cloud_server_com { server app1:80; server app2:80; } server { listen 80; location /app/ { proxy_pass http://cloud_server_com/; } location / { root /usr/share/nginx/html; index index.html; } } }

構成ファイルは、グループ化されたサーバーのグループを定義します。ここでは、Docker Compose ファイルで定義されているコンテナ名とポート番号を指定します。

場所は、Nginx が特定のエンドポイントへのリクエストを処理する方法を定義するのに役立ちます。 /app/ は、両方のアプリケーションのコンテナである cloud_server_com アップストリームにリクエストを送信します。

proxy_pass はリクエストがリダイレクトされる場所を決定します。

ここで、Docker Compose ファイルはこの構成を読み取ることができる必要があるため、Compose ファイルを次のように変更する必要があります。

 version : '3.7' services : web: build: . ports: - "8080:80" volumes: - ./config/nginx.conf:/etc/nginx/nginx.conf restart: always app1: build: ./app1/ ports: - "8085:80" restart: always app2: build: ./app2 ports: - "8010:80" restart: always

ステップ3: コンテナを実行する

docker-compose up コマンドを実行し、ブラウザでリバース プロキシがどのように動作するかを確認します。

これは / エンドポイントで実行されているメイン アプリケーションです。

写真

ただし、/app/ エンドポイントにアクセスすると、2 つの異なるサーバーが返され、プロキシはリクエストを app1 と app2 に 1 つずつ送信します。

写真

<<:  クラウドコンピューティング環境はネットワークの可視性に課題をもたらす

>>:  Dockerはどのように機能しますか?知っていましたか?

推薦する

運用者の実践から、「インテリジェントマルチクラウド」がクラウド戦略成功の鍵となった理由

第二次産業革命の象徴が「電気」であったとすれば、私たちが迎えている第四次産業革命の象徴は「クラウドコ...

virmach: クリスマスの素晴らしいもの、マルチコンピュータルームKVM、Windows付き、年間支払いは15ドルから

virmach は、クリスマス、ボックス デー、新年などの休暇中に再び暖かさをもたらします。いくつか...

Weibo マーケティングのやり方を聞かないでください。メディア マーケティングには 6 つのステップが必要です。

マーケティングは不思議なものだと言われています。長い髪と道教の僧侶の衣装(少なくともそのように見える...

インターネットの考え方: 期待を超えるユーザーエクスペリエンス

期待を超えるユーザー エクスペリエンスは、最高のマーケティングの 1 つです。期待を超えるユーザーエ...

ドラゴンボートフェスティバルのメールマーケティングに中国の要素を加える

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますドラゴンボ...

「賢い」Lefeng.com は、競争の激しい美容業界をどのように切り抜けているのでしょうか?

美容業界は電子商取引分野では比較的収益性の高い業界であり、非常に多くの電子商取引企業が出現しています...

RivenCloud: 50% オフ、日本 VPS、大阪/東京、Netflix

Riven Cloudは、米国と香港に登録された新しい会社です。主にVPS事業を展開しており、日本の...

新しいサイトの例分析ウェブサイトの構造をどのように配置するか

ウェブサイト構築のプロセスにおいて、ウェブサイト構造の配置は非常に重要です。あなたが新人ウェブマスタ...

「2億6000万元の罰金」は通知書に過ぎず、執行文書ではないと報じられている。Qvodは控訴を検討するかもしれない。

Qvodがポルノであるかどうかについては結論が出ておらず、控訴を検討する可能性があると報じられている...

IaC に関しては、Terraform と CloudFormation のどちらが優れていますか?

名前が示すように、IaC (Infrastructure as Code) は、コードを使用してイン...

SaaS 時代において、YonSuite は成長企業のイノベーション コードをどのように活性化するのでしょうか?

世界的ビジネスベストセラー『ブルー・オーシャン戦略』には、企業は既存の思考を打ち破り、革新的な意識を...

アプリストア ASO の基本ガイド: ASO 最適化の 3 つのステップ

ASO は、Android または iOS アプリに無料の高品質ユーザーを提供し、あらゆるモバイル成...

ウェブサイトを構築する前に行う必要があるSEO最適化を共有する

諺にもあるように、「基礎がしっかりしていなければ、地は揺れる」。では、ウェブサイトを構築する前に S...

#クリスマス# Hostus-年間 25 ドルの VPS/KVM/256 MB メモリ/180 GB ハード ドライブ/1 T トラフィック/Alipay

Hostus からの遅ればせながらのクリスマス プロモーションをご紹介します。大容量ディスクを備えた...