nginx を使用したプロキシ サーバーの設定

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を使用してプロキシ サーバーをセットアップすることもできます。たとえば、イントラネット環境では、インターネットに接続できるマシンで nginx をプロキシ サーバーとして実行します。他のマシンは、IP とポートを設定することで、このマシンを介してインターネットに接続できます。この記事では、公式の nginx イメージを使用しており、次の手順で簡単にプロキシ サーバーを実装できます。

ステップ1: nginxを起動する

[root@devops ~]# docker run -p 8888:8888 --name proxy-nginx -d nginx
c7baab8ea9da0a148aa9bcc1295a54391906f6be94efca7189df23ceecdbf714
[root@devops ~]#

ステップ2: nginxを設定する

コンテナに入る

[root@devops ~]# docker exec -it proxy-nginx sh

apt-get を更新する

ping/vi/ps をインストールします: apt-get update; apt-get install procps vim inetutils-ping

nginx.confを設定する

最もシンプルなプロキシ機能を実現するには、次のコンテンツを追加します。

  リゾルバ 8.8.8.8;
  サーバー{
    聞く 8888;
    位置 / {
      proxy_pass http://$http_host$request_uri;
    }
  }

残りの情報は nginx.conf の確認された内容であり、変更されていません。

# nginx.conf を cat する
ユーザー nginx;
ワーカープロセス 1;
error_log /var/log/nginx/error.log 警告;
pid /var/run/nginx.pid;
イベント {
  ワーカー接続 1024;
}
http {
  /etc/nginx/mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
  access_log /var/log/nginx/access.log メイン;
  ファイル送信オン;
  #tcp_nopush オン;
  キープアライブタイムアウト65;
  #gzip オン;
  リゾルバ 8.8.8.8;
  サーバー{
    聞く 8888;
    位置 / {
      proxy_pass http://$http_host$request_uri;
    }
  }
  /etc/nginx/conf.d/*.conf を含めます。
}
#

ステップ4: クライアントを設定する

クライアントにサーバーの IP と上記のポート 8888 を設定すると、プロキシ サーバーを介してネットワークに接続できます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します
  • vue プロジェクトを nginx/tomcat サーバーにデプロイする実装
  • Linux サーバー nginx のアンインストールとインストールのチュートリアル
  • nginx のバージョン番号と WEB サーバー情報を隠すための解決策
  • Nginx サーバーの負荷分散戦略の詳細説明(6 種類)
  • nginx を設定して、frps サーバーと Web がポート 80 を共有するようにする方法
  • 1 つの nginx サーバーに複数のドメイン名を設定する方法
  • nginx をベースにリロードなしでアップストリーム サーバーの動的な自動起動と停止を実装する方法

<<:  MySQL 5.7.9 シャットダウン構文例の詳細な説明

>>:  Javascript を使用して、スライドバー効果のあるスライドナビゲーション プラグインを開発します。

推薦する

Amap を使用した React 実装例 (react-amap)

React の PC 版は Amap を使用するようにリファクタリングされました。情報を検索したと...

HTML で 2 列レイアウトを実装する方法の例 (左側は固定幅、右側は適応幅)

HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...

Dockerの核となる原則であるCgroupの詳細な説明

カーネル内の強力なツール cgroup は、NameSpace によって分離されたリソースを制限でき...

CentOS 7 に Docker 1.8 をインストールする詳細な手順

Docker は、次の CentOS バージョンでの実行をサポートしています。 • CentOS 7...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...

2時間のDocker入門チュートリアル

目次1.0 はじめに2.0 Dockerのインストール3.0基本的なDockerコマンド4.0 Do...

バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...

ウェブデザイナーのための超便利なツール 50 選

ウェブデザイナーになるのは簡単ではありません。デザインやアーキテクチャを考慮するだけでなく、さまざま...

Windows での MySQL 8.0.12 のインストール手順と基本的な使用方法のチュートリアル

この記事では、WindowsでのMySQL 8.0.12のインストール手順と使用方法のチュートリアル...

MySQL データベースの高度なクエリとマルチテーブルクエリ

MySQL マルチテーブルクエリワークシートを追加する -- ユーザーテーブル (ユーザー) テーブ...

Vue で @person 関数を実装する方法

この記事ではvueを使用し、マウスクリックイベントといくつかの小さなページの最適化を追加します。 基...

Flexboxレイアウトの最もシンプルなフォーム実装

フレキシブル レイアウト (Flexbox) はますます人気が高まっており、CSS レイアウトの記述...

Youku 動画から 30 秒の広告コードを削除する 2 つの方法

誰もがこんな気持ちになったことがあると思います。30 秒の広告が入った動画を見ると、とても不快に感じ...

Mysql関数呼び出しの最適化の詳細な説明

目次関数呼び出しの最適化関数呼び出しの最適化MySQL 関数は、内部的に決定論的または非決定論的とし...

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...