ポートフォワードやリバースプロキシなど

FaceBookアプリつくろうとしたら、FaceBook提供のPHP用のライブラリがPHP5.3以上でないとぺけだったため、取り急ぎクライアントマシンで実装した。公開するときにどうしたらよいか考えた時のメモ

URLのリダイレクトではなく、特定のURLを内部的に別のWebサーバに処理させたい場合、2つ方法がある。 1つはApacheのリバースプロキシを使用する方法。もう一つはIPTABLESでポートフォワーディングする方法。ポートフォワーディングはポート番号付きのURLになるが・・・

・リバースプロキシ

vi /etc/httpd/conf/httpd.conf

ProxyPass /foo http://foo.example.com/bar 
ProxyPassReverse /foo http://foo.example.com/bar

・ポートフォワーディング

vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
####-A FORWARD -j REJECT --reject-with icmp-host-prohibited      ←これ無効にし、下記のnatの設定を追加。
COMMIT

*nat
 :PREROUTING ACCEPT [0:0]
 :POSTROUTING ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]

-A PREROUTING -i eth0 -p tcp -d 192.168.1.70 --dport 8080 -j DNAT --to-destination 192.168.1.65:80
-A POSTROUTING -o eth0 -p tcp -d 192.168.1.65 --dport 80 -j SNAT --to-source 192.168.1.70

COMMIT

190 comments to ポートフォワードやリバースプロキシなど