あるサーバーから別のサーバーにリクエストを転送したい。ここに私の問題があります:
hr.example.com
-ポート80-サーバーAsupport.example.com
-ポート80-サーバーBポート80のすべての要求は、ファイアウォールによってサーバーAに転送されます。
したがって、support.example.com
のリクエストをサーバーAからサーバーBに転送する必要があります。これをApacheで実現するにはどうすればよいですか。
here からの回答に従いました。サーバーAのApache.conf
に次のコードを追加しましたが、「500内部サーバーエラー」が発生します。
<VirtualHost *:80>
ServerName support.example.com
LoadModule proxy_module modules/mod_proxy.so
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://IP-ADDRESS-SERVER-B:80/
ProxyPassReverse / http://IP-ADDRESS-SERVER-B:80/
<Location />
Require all granted
</Location>
</VirtualHost>
注:サーバーAはWindowsサーバー2012とApache 2.4です
これらのリクエストを適切に転送するにはどうすればよいですか?
正しい構成を提供してくれてありがとう@MrWhite :80に複数のvHostがあるため、追加モジュールmod_proxy_http
が必要で、server-BのIPアドレスをホスト名に変更する必要がありました。動作設定は次のとおりです。
<VirtualHost *:80>
support.example.com
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://support.example.com:80/
ProxyPassReverse / http://support.example.com:80/
<Location />
Require all granted
</Location>
</VirtualHost>