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 における分割代入構文の詳細な説明

推薦する

Rabbitmq heartbea ハートビート検出メカニズムの原理の分析

序文RabbitMQ を使用する場合、一定期間クライアントと RabbitMQ サーバーの間でトラフ...

トップナビゲーションバー機能を実現するCSS+HTML

ナビゲーション バー、固定トップ ナビゲーション バー、およびセカンダリ メニューの実装効果図の実装...

Java は Excel から MySQL にデータをインポートします

実際の業務では、Excel からデータベースにデータをインポートする必要がある場合があります。データ...

Linux 面接で最もよく聞かれる 10 の質問のまとめ

序文Linux システムの運用および保守エンジニア職の面接を受ける場合は、次の 10 個の最も一般的...

Windows Server 2016 リモート デスクトップ サービスの構成とライセンスのアクティブ化 (2 ユーザー)

Server 2016 のリモート デスクトップ接続のデフォルト数は 2 ユーザーです。2 人以上...

Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするチュートリアル

Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その...

http-proxy-middlewareを使用してNodeでプロキシクロスドメインを実装する方法と手順

目次1. プロキシモジュールをインストールする2. プロキシを設定する1. プロキシモジュールをイン...

ウェブデザインにおけるインタラクション: ページングの問題に関する簡単な説明

機能: 前のページまたは次のページにジャンプします。要素: ページングの基本要素は、前のページ + ...

CSSメディアクエリのアスペクト比を小さくする方法

CSS メディア クエリには非常に便利なアスペクト比、aspect-ratio があり、幅と高さを直...

MySQL の詳細な単一テーブルの追加、削除、変更、クエリの CRUD ステートメント

MySQL の追加、削除、変更、クエリステートメント1. 練習シートを作成するここでの練習表は3つの...

Vue は無限ロードウォーターフォールフローを実装します

この記事では、参考までに、無限ロードウォーターフォールフローを実現するためのVueの具体的なコードを...

Ubuntu 16.04.5LTS に SVN をインストールする手順

この記事では、UbuntuシステムでSVNを設定するプロセスを簡単に紹介します。ソースを更新sudo...

Docker - コンテナマウントディレクトリを変更する3つの方法のまとめ

方法 1: 設定ファイルを変更する (docker サービスを停止する必要があります) 1. doc...

js と jQuery での Ajax の使用例の詳細

目次ネイティブJS GETリクエストの送信方法投稿リクエストの送信方法パラメータ付きのGETリクエス...

MySQLのExcelへのエクスポート方法の分析

この記事では、MySQL を使用してデータを Excel にエクスポートする方法について説明します。...