リバースプロキシの検証

疑問~リバースプロキシとは?~

(バックエンドの)Webサーバに変わって代理応答してくれたり、(バックエンドの)Webサーバに負荷分散してくれるものらしい。
そんなに使っている人がいるのかわからないが、やってみようと思う。

検証~リバースプロキシとWebサーバ(バックエンドサーバ)構築~

・EC2作成
forward
backend	バックエンドは自動的にipが振られないようにする。ローカルipアドレスは10.0.3.180。


・selinux 無効化
略


●forward設定


・Apacheインストール
yum install httpd


・モジュール確認
httpd -M | grep proxy
-----
 proxy_module (shared)
 proxy_ajp_module (shared)
 proxy_balancer_module (shared)
 proxy_connect_module (shared)
 proxy_express_module (shared)
 proxy_fcgi_module (shared)
 proxy_fdpass_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module (shared)
 proxy_scgi_module (shared)
 proxy_wstunnel_module (shared)
-----
↓
proxy_module 、proxy_http_moduleがあるし問題なさそう


・コンフィグ書き換え
cp -ai /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.0

ProxyRequests Off
ProxyPass / http://10.0.3.180/
ProxyPassReverse / http://10.0.3.180/
-----


・見れない予定のファイル設置
vi /var/www/html/index.html 
forward


●backend設定
フォワードサーバにCentOSユーザの鍵(名前はkey)を仕込んでフォワードサーバからログイン
vi key
-----
秘密鍵張り付け
-----
chmod 600 key
ssh -i key centos@10.0.3.180


・Apacheインストール
yum install httpd


・ファイル設置
vi /var/www/html/index.html 
-----
localnetwork
-----

vi /var/www/html/test.txt 
-----
localnetworktest.txt
-----


・アクセス確認
http://3.114.179.180
http://3.114.179.180/test.txt

localnetwork
localnetworktest.txt
↓
よし、バックエンドサーバにあるファイルを見に行く。


■

所感

今回、バックエンド一台だけだが次回は複数台にして冗長化してみよう。
ただリバースプロキシでないといけない理由についてまだよく理解できていない。
AWSの場合、ELBでよくないか?とは思ってしまう。

前の記事

目次作成