ライブ環境に置く前にリバース プロキシが期待どおりに動作することを確認するために、Web サーバーでいくつかのテストを行おうとしていますが、mod_proxy と mod_proxy_html でいくつかの問題が発生しています。
ポート 80 に 1 つ、ポート 8080 に 1 つの 2 つの仮想ホストがあります。私の目標は、www.example.com/path/ への着信要求をポート 80 で受け取り、ポート 8080 に逆プロキシすることです。
これが私の仮想ホスト設定です:
<VirtualHost *:8080>
ServerName www.example.com:8080
DocumentRoot /var/www/html/test
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*test
RewriteRule ^/?(.*) http://127.0.0.1:8080/test.html [R=301,L]
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
ProxyHTMLEnable On
ProxyHTMLInterp On
ProxyPreserveHost Off
ProxyPass /path/ http://127.0.0.1:8080/
ProxyPassReverse /path/ http://127.0.0.1:8080/
ProxyHTMLURLMap http://127.0.0.1:8080/ /path/
</VirtualHost>
私の /var/www/html/test には index.html と test.html の 2 つのファイルがあります
。 test.html の内容は次のとおりです。
<HTML>
<BODY>
<a href="http://127.0.0.1:8080/index.html">TEST</a>
</BODY>
</HTML>
www.example.com/path/ へのアクセスは正常にプロキシされ、www.example.com/path/test.html にリダイレクトされますが、ページ上のリンクは依然として 127.0.0.1 を指しています。
httpd -M は、proxy_module と proxy_html_module の読み込みを報告し
ます。また、手動で LoadModule を http.conf に追加しようとしました。
LoadModule proxy_module /usr/lib64/httpd/modules/mod_proxy.so
LoadModule proxy_html_module /usr/lib64/httpd/modules/mod_proxy_html.so
なぜそれが適切に機能していないのかについて何か考えはありますか? 設定が間違っていますか?