У меня есть два сервера Apache с включенным mod_proxy. Я хочу знать, как «передать запрос» с «Apache Server A» на «Apache Server B», используя тот же порт (80).
На "сервере A" с внутренним ip: 192.168.0.5 я настроил DNS, и я также использую его в качестве своего почтового сервера.
На "сервере B" с внутренним ip: 192.168.0.10 у меня есть собственный облачный сервер.
Сегодня, когда я захожу на wwww.mydomain.com или www.mydomain.com/webmail, все работает, потому что весь контент находится на «сервере A», и мне нужно, чтобы когда кто-то пытается получить доступ к owncloud.mydomain.com, они могут получить доступ к моему серверу B. не перенаправляя их на другой порт, например owncloud.mydomain.com:81, я просто хочу использовать порт 80.
На самом деле я получаю цикл перенаправления, потому что, когда я пытаюсь перенаправить, я предполагаю, что «СЕРВЕР А» сам получает тот же запрос. Я установил мой виртуальный хост, работающий на том же «СЕРВЕРЕ А», я хочу «перенаправить» на другой сервер, используя тот же порт и URL (owncloud.mydomain.com).
Я не хочу перенаправлять через другой порт.
Вам нужно будет сделать что-то подобное на сервере A:
NameVirtualHost *
<VirtualHost *>
ServerName owncloud.mydomain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.10:80/
ProxyPassReverse / http://192.168.0.10:80/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
В зависимости от вашего приложения вам может потребоваться использовать одно или все из следующего:
Взгляните на документация по mod_proxy для получения дополнительных советов и рекомендаций.