カテゴリー別アーカイブ: Nginx

Nginxでyumやwget用のフォワードプロキシ

WANに繋がっていない、LAN内のサーバのミドルウェア導入やバージョンアップを行うのに、

yumコマンドでリポジトリの参照ができなくて不便なことが多々あります。

必要なRPMだけもっていってインストールしようとしたら、依存関係でつまづいたり…

 

DBサーバなんかはフロントにWEBサーバがあって、

完全にWEBサーバ経由のLAN接続しかできなかったりするパターンが多いです。

 

最近、そのパターンでフロントのWEBサーバにNginxをインストールしていて、

「Nginxでプロキシ通せば直接ダウンロードできるんじゃない?」と思って設定してみました。

RedHat5系ならおそらく同じ設定でいけると思います。

 

まずは、プロキシとするサーバ上のNginxの設定から。

# vi /etc/nginx/conf.d/forward_proxy.conf

以下の内容の設定ファイルを作成します。

server {
    listen 8081;                                        #8080はアプリで使用していたのでなんとなく
    server_name プライベートIP;
    resolver DNSのIP;                                   #特に使えるものがなければ、Google Public DNS(8.8.8.8 8.8.4.4)という手もあります。
    location / {
        proxy_pass $scheme://$http_host$request_uri;
    }
}

設定反映のため再起動します。

# /etc/init.d/nginx restart

 

次に、LAN内のサーバのyumのプロキシを指定します。

# vi /etc/yum.conf

以下を追記します。

proxy=http://プロキシサーバのIP:8081

以上でyumの設定は完了です。

 

ついでに、wgetもproxy通せないかな~と思ってググったらやはりありました。

コチラのサイトを参考に、
ホームディレクトリ直下に「.wgetrc」を置くのではなく、全体に効く設定ファイルを変更しました。

# vi /etc/wgetrc

以下の2項目を変更します。

http_proxy = http://プロキシサーバのIP:8081
ftp_proxy = http://プロキシサーバのIP:8081

以上で、WANに繋がっていないLAN内のサーバからでも、

フロントにNginxが立っていれば、別途プロキシを立てなくても必要なファイルのダウンロードやyumコマンドによるリポジトリ参照ができるようになります。