nginxリバースプロキシのyum設定の詳細な手順

nginxリバースプロキシのyum設定の詳細な手順

パート0 背景

社内のイントラネットサーバーは直接インターネットにアクセスすることはできませんが、外部ネットワークとの通信や時刻同期などを行うために、インターネットにアクセスするサーバーを複数指定します。ここでは、インターネットにアクセスできるマシンをプロキシとして使用し、イントラネットで使用するための yum リポジトリを作成します。

パート1 環境

イントラネット DNS (推奨されますが、IP を代わりに使用できるため必須ではありません)

インターネットにアクセスできるサーバーA

インターネットにアクセスできないサーバーはサーバーAと通信できる

パート2 nginxのインストール

外部ネットワークに接続できるAにnginxをインストールする

yum で nginx をインストール

パート3 nginxの設定

ホストAにnginx設定を追加する

$ cd /etc/nginx/conf.d
$ vim プロキシ.conf
サーバー{
  聞く 80;
  #聞く [::]:80;
  server_name mirrors.yourdomain.com;
  インデックス index.html index.htm index.php default.html default.hm default.php;
  ルート /home/wwwroot/html;

  場所 /ubuntu/ {
   proxy_pass http://mirrors.aliyun.com/ubuntu/ ;
  }

  場所 /centos/ {
   proxy_pass http://mirrors.aliyun.com/centos/ ;
  }

  場所 /epel/ {
   proxy_pass http://mirrors.aliyun.com/epel/ ;
  }
 }

part.4 yumリポジトリソースの設定

外部ネットワークに接続できないホスト B のリポジトリ ファイルを変更します。

$ cat /etc/yum.repos.d/CentOS-7.repo
[ベース]
name=CentOS-$releasever - ベース - mirrors.yourdomain.com
フェイルオーバー方法=優先度
ベースURL=http://mirrors.yourdomain.com/centos/$releasever/os/$basearch/
  http://mirrors.yourdomain.com/centos/$releasever/os/$basearch/
#ミラーリスト=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7

#リリースされたアップデート 
[更新]
name=CentOS-$releasever - アップデート - mirrors.yourdomain.com
フェイルオーバー方法=優先度
ベースURL=http://mirrors.yourdomain.com/centos/$releasever/updates/$basearch/
  http://mirrors.yourdomain.com/centos/$releasever/updates/$basearch/
#ミラーリスト=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7

#役に立つかもしれない追加パッケージ
[特典]
name=CentOS-$releasever - 追加情報 - mirrors.yourdomain.com
フェイルオーバー方法=優先度
ベースURL=http://mirrors.yourdomain.com/centos/$releasever/extras/$basearch/
  http://mirrors.yourdomain.com/centos/$releasever/extras/$basearch/
#ミラーリスト=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7

#既存のパッケージの機能を拡張する追加パッケージ
[セントオスプラス]
name=CentOS-$releasever - プラス - mirrors.yourdomain.com
フェイルオーバー方法=優先度
ベースURL=http://mirrors.yourdomain.com/centos/$releasever/centosplus/$basearch/
  http://mirrors.yourdomain.com/centos/$releasever/centosplus/$basearch/
#ミラーリスト=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
有効=0
gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - Centos ユーザーによるパッケージ
[投稿]
name=CentOS-$releasever - 貢献 - mirrors.yourdomain.com
フェイルオーバー方法=優先度
ベースURL=http://mirrors.yourdomain.com/centos/$releasever/contrib/$basearch/
  http://mirrors.yourdomain.com/centos/$releasever/contrib/$basearch/
#ミラーリスト=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
有効=0
gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7

パート5 ホストの設定

$ cat /etc/hosts

127.0.0.1 ローカルホスト ローカルホスト.ローカルドメイン ローカルホスト4 ローカルホスト4.ローカルドメイン4
::1 ローカルホスト ローカルホスト.ローカルドメイン ローカルホスト6 ローカルホスト6.ローカルドメイン6
192.168.1.193 ミラー.yourdomain.com
# AホストのIPと背後のリバースプロキシアドレスを確認します

パート6 iptablesの設定

mirrors.yourdomain.com にpingします
#エラー: ホストへのルートがありません

このとき、ホスト B の iptables 情報を確認すると、ポート 80 にアクセスできないことがわかります。先頭にルールを追加できます。

$ iptables -nvL

 8155 28M すべてを受け入れる -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED、ESTABLISHED
 0 0 すべてを受け入れる -- lo * 0.0.0.0/0 0.0.0.0/0   
11761 985K INPUT_direct すべて -- * * 0.0.0.0/0 0.0.0.0/0   
11761 985K INPUT_ZONES_SOURCE すべて -- * * 0.0.0.0/0 0.0.0.0/0   
11761 985K INPUT_ZONES すべて -- * * 0.0.0.0/0 0.0.0.0/0   
 0 0 すべて削除 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate 無効
11756 985K すべてを拒否 -- * * 0.0.0.0/0 0.0.0.0/0 icmp-host-prohibited による拒否
$ iptables -I 入力 -p tcp --dport 80 -j 受け入れる

パート7 テスト成功

ホスト B で yum makecache 操作を実行します。 yum 操作を実行できるかどうかを判断します。

$ yum すべてをクリーン
$ yum メイクキャッシュ

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Nginx リバース プロキシ構成の完全なプロセス記録
  • 中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)
  • Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例
  • SSL で Nginx リバース プロキシを構成する簡単な手順
  • Nginxリバースプロキシ設定でプレフィックスが削除される
  • nginxリバースプロキシwebSocket設定の詳細な説明
  • リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース
  • プレフィックスケースを削除する Nginx リバース プロキシ構成のチュートリアル

<<:  MySQLのINサブクエリによってインデックスが使用できなくなる問題を解決する

>>:  Javascript における分割代入構文の詳細な説明

推薦する

MySQLにおけるトランザクション分離レベルの実装原理の詳細な説明

序文データベース トランザクションに関して言えば、トランザクションの ACID 特性、分離レベル、解...

Node.js で簡単なクローラーケースを作成するチュートリアル

準備まず、nodejs をダウンロードする必要がありますが、これは問題ないはずです。原文はwebst...

VueはBaidu Mapsを使用して都市の位置特定を実現

この記事では、参考までに、Baidu Mapsを使用して都市の位置特定を実現するVueの具体的なコー...

VmWareでcentos7をインストールするときにインターネットにアクセスできない問題の解決策

Centos7 のインストール時に VmWare がインターネットにアクセスできない場合はどうすれば...

Linux で複数のファイルの名前を一度に変更する方法

序文日常業務では、すべての jpg ファイルを bnp に変更したり、名前の 1 を one に変更...

yum 経由で CentOS に PHP をインストールするチュートリアル

まず、yumを使ってCentOSにPHPをインストールする方法を紹介します。 1. PHPのyumソ...

AngularJSにおける括弧の役割の詳細な説明

1. 括弧の役割1.1 角括弧 [ ]属性名が角括弧で囲まれている場合、右側には式の値が割り当てられ...

テンプレートタグの使用方法の詳細な説明(Vue での使用方法の概要を含む)

目次1. HTML5のテンプレートタグ2. テンプレートタグ操作のプロパティとメソッド3. Vueの...

同期スクロールを実現するための複数のテーブル要素のサンプルコード

Element UIは、複数のテーブルを同時に水平および垂直にスクロールすることを実装します。 コー...

MySQL 5.7.22 バイナリパッケージのインストールとインストール不要版 Windows 設定方法

次のコードは、MySQL 5.7.22 バイナリ パッケージのインストール方法を紹介しています。具体...

JSscriptタグの属性は何ですか

JS スクリプト タグの属性は何ですか? charset : オプション。 src 属性で指定された...

JavaScript オブジェクトを作成する 3 つの方法

目次1. オブジェクトリテラル2. newキーワードはオブジェクトを作成する3. Object.cr...

Vue 初心者ガイド: 最初の Vue-cli スキャフォールディング プログラムの作成

1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...

MySQL データベース クエリ パフォーマンス最適化戦略

クエリを最適化するExplain ステートメントを使用してクエリ ステートメントを分析するExpla...