apache2: ProxyPassメモ

apache2のmod_proxyのリバースプロキシの設定メモ
/etc/httpd/conf/httpd.conf
の、

<ifmodule mod_proxy.c>
ProxyRequests Off
<proxy *>
Order deny,allow
Allow from all
</proxy>
ProxyPass /hoge http://destination.com/hoge
ProxyPassReverse /hoge http://destination.com/hoge
</ifmodule>

のようにディレクティブを設定
で、service httpd restart でいいはずなんだが503エラーが出ちゃう…orz
ViatualHost設定したり、<location>でProxyPass設定したりと、色々試したけどうまく行かず

/var/log/httpd/error_log 見ても、
[error] (13)Permission denied: proxy: HTTP: attempt to connect to xx.xx.xx.xx failed

となっているだけ
う~ん、原因が分からん…orz
エラー内容でググって見て、さんざん彷徨った後、やっと解法を見つけた

SELinuxのHTTPD Service / Allow HTTPD scripts and modules to connect to the network にチェックを入れないと、mod_proxyとそのお友達が外部と通信できないので、こいつにチェックを入れてやる。

すると問題なく、クライアントから、アプリケーションサーバー経由で、こいつからのみアクセスを許可されているコンテンツサーバーのデータをゲット可能に。先方にも確認OK。

なんて落とし穴だ…SELinux。半日費やしてしまった…けど沢山お掃除できた。
しかし、xinetdでアクセスコントロールするより、SELinuxのaccess.confの方が細かく設定できるから、乗り換えてみようかな

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です