Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

nginxによるリバースプロキシ(reverse proxy)構築 on CentOS6.5

どうも、鯨井貴博@opensourcetechです音譜
 f:id:opensourcetech:20140811122503p:plain

本日は、nginxをリバースプロキシとして使用してみようと思いますビックリマーク



システム構成としては、
以下のようになります。
-------
クライアント(Webブラウザ)
192.168.2.213:YYYYY
※YYYYYはクライアントPort


192.168.2.206:80
リバースプロキシ(nginx)


192.168.2.206:8080
Webサーバ(apache)



使用OSは、CentOS6.5(32bits)となっており、
yumによるソフトウェアインストールが可能なことが前提です。


apache(httpd)のインストール
yum -y install httpd


apache(httpd)の設定
vi /etc/httpd/conf/httpd.confとし、
Listenディレクティブのみ変更します。
-------
Listen 8080

f:id:opensourcetech:20140910164616p:plain




apache(httpd)のコンテンツファイル作成
vi /var/www/html/index.htmlとして、
コンテンツファイルを作成します。

今回は、簡単なHTMLタグを含めた以下としました。
-------

f:id:opensourcetech:20140910164622p:plain




apache(httpd)の起動
/etc/init.d/httpd start

これで、apache(httpd)の設定は完了です。


nginxのインストール
nginxは通常のyumレポジトリからはまだインストール出来ないので、
レポジトリファイルを追加して、
そこからインストールします。
cd /etc/yum.repos.d
vi nginx.repo

f:id:opensourcetech:20140910164632p:plain


yum -y install nginx


nginxの設定
/etc/nginx配下のnginx.confを以下のように編集します。

f:id:opensourcetech:20140910164638p:plain




nginxの起動
/etc/init.d/nginx start


⑧ファイアーウォール(iptables)によるWebポートの開放
iptables -L --line-numbersで現状確認

f:id:opensourcetech:20140910164646p:plain



そして、ルールの追加と保存
iptables -I INPUT 5 -p tcp --dport 80 -j ACCEPT
iptables-save > /etc/sysconfig/iptables

f:id:opensourcetech:20140910164652p:plain




クライアント(webブラウザ)からのアクセス
Webブラウザからhttp://192.168.2.206とアクセスすると、
以下のようにコンテンツファイルが表示されました

f:id:opensourcetech:20140910164657p:plain




おまけ(パケットキャプチャから動作を確認)
-------
tcudpump -i any tcp port 80 or tcp port 8080 -w test.pcapとし、
アクセスの様子をパケットキャプチャしたファイルを
wiresharkで確認してみると、

以下のように
赤で囲んだ部分がクライアントnginxのやり取り、
青で囲んだ部分がnginxapache(httpd)のやり取りがされていることが確認出来ます。

f:id:opensourcetech:20140910164702p:plain



また、下のブルーの囲ったHTTPヘッダー部には、
nginx.confで編集した以下の部分が対応していることが確認出来ますグッド!

f:id:opensourcetech:20140910164715p:plain





今回の設定では、
nginxによるリバースプロキシでの
データキャッシュの部分は含まれておりませんが、
それは次回にしようと思います。


 

 

nginxが試験範囲として含まれているLPICレベル2に興味がある方は、

こちらもどうぞ。

LPICレベル2は取得できる!!

Opensourcetech by Takahiro Kujirai