パブリック IP を持つ AWS EC2 インスタンスを作成しました。これを 100.0.0.0 と呼びます。
セキュリティ グループにルールを追加し、任意の IPv4 に対してポート 80 での着信 HTTP トラフィックを許可しました。
次の設定ファイルに追加しました:/etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://www.example.com/
ProxyPassReverse /test/ http://www.example.com/
</VirtualHost>
私が行ったときhttp://100.0.0.0/テスト/ブラウザに「404 - Not Found」と表示されました。error_log には何も表示されません。
ローカルホストでもこれを試してみました
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://localhost:8080/
ProxyPassReverse /test/ http://localhost:8080/
</VirtualHost>
&
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://127.0.0.1:8080/
ProxyPassReverse /test/ http://127.0.0.1:8080/
</VirtualHost>
ログには次のように記録されています:
接続が拒否されました: AH00957: http: 127.0.0.1:8080 (127.0.0.1) への接続に失敗しました
AH01114: HTTP: バックエンドへの接続に失敗しました: 127.0.0.1、リファラー:http://100.0.0.0/
これは AWS で作成されているため、IPv4 に対してすべてを許可するアウトバウンド ルールも作成してみました。AWS でさらにルールを設定する必要があるのか、プロキシの設定手順を見逃したのかはわかりません。
私がフォローしたドキュメントを参照してください:リバースプロキシ
netstat -aon | grep 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 22304
TCP [::]:8080 [::]:0 LISTENING 22304
TCP [::1]:8080 [::]:0 LISTENING 25212