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 を使用して、スライドバー効果のあるスライドナビゲーション プラグインを開発します。

推薦する

HTML でシンプルな ListViews 効果を実装するためのサンプル コード

シンプルなリストビュー効果を実現するHTML結果: CSS スタイル ファイル listviewTe...

DockerにMySQL 8.0をインストールする方法

環境: MacOS_Cetalina_10.15.1、Mysql8.0.18、Docker_2.0....

html5 の新しいメソッドを使用して JavaScript で要素クラス名を操作する方法の詳細な説明

目次1. classList属性2. 実用化以前の JavaScript では、最初にクラス属性を取...

React コードを共有するためのベストプラクティス

プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...

CSS フレックスレイアウトのリストの最後の行を左揃えにする N 通りの方法 (要約)

張新旭氏の記事を引用して皆さんにシェアしたいと思います。 変更を加えたい場合は、対応する画像によって...

Vue はデータの変更をどのように追跡しますか?

目次背景例誤解 - コールスタックを表示するためにウォッチでブレークポイントを設定する正しいアプロー...

Excel エクスポートは docker 環境では常に失敗する

Excel のエクスポートは、docker 環境では常に失敗します。最も直接的な原因は、中国語フォン...

MySQL の主キーとトランザクションの詳細な説明

目次1. MySQLの主キーとテーブルフィールドに関するコメント1. 主キーと自動増分2. テーブル...

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

SASSで変数のデフォルト値を使用する方法

SASS で定義された変数では、後で設定された値によって古い値が上書きされます。 $色: 赤; $色...

CSS でショートカット プロパティを記述する際は、トラブルの順序に注意してください (落とし穴を避けるため)

ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...

優れたグラフィックデザイナーが習得すべき7つのスキル

1》ウェブデザインが得意であること2》Webページのデザイン方法を知る3》計画する4. SEOを理解...

Vue はグラフィック検証コードログインを実装します

この記事では、グラフィック認証コードログインを実装するためのVueの具体的なコードを参考までに紹介し...

MySQLサブクエリの詳細な例

サブクエリの分類返された結果セットによる分類サブクエリは、返される結果セットの違いに応じて、テーブル...

Javascript配列の重複排除のいくつかの方法の詳細な説明

目次アレイ重複排除1 2層forループ(バブルソートの2層ループ記述に類似) 2 ループとインデック...