Apache リバース プロキシ サーバーをセットアップしました。 通常は正常に動作し、期待どおりに動作します。 しかし、外部 URL へのリクエストをプロキシしたいのですが、 URL に対する wget は動作しますが、プロキシは 404 を返します。
ssl.conf スニップ:
<VirtualHost 10.*.*.*:7006>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
ServerName ***********
[...]
ProxyPreserveHost On
ProxyPass / https://10.*.*.*:7002/
ProxyPassReverse / https://10.*.*.*:7002/
#New
ProxyPass /test https://correct.url
ProxyPassReverse /test https://correct.url
wget コマンドは正しく動作します:
wget https://correct.url --2018-02-19 17:43:59-- https://correct.url Resolving correct.url... 10.*.*.* Connecting to correct.url|10.*.*.*|:443... connected. HTTP request sent, awaiting response... 401 Unauthorized Authorization failed.
ProxyPreserveHost を Off に設定してみましたが、効果はありませんでした。
答え1
ProxyPass /test を ProxyPass / の上に配置する必要があります。ディレクティブは最初に一致したものから順に評価されるため、構成では /test へのすべてのリクエストは / に定義されたプロキシによって処理されます。