У меня есть два сервера, которые находятся на разных машинах. У нас есть DNS-данные для нашей сети:
- dev.server.com
- prod.server.com
Все наши приложения размещены на prod.server.com, но моя команда написала новое приложение на версии языка, который еще не доступен на prod. Чтобы пользователи могли использовать его, я бы хотел, чтобы пользователи находились в среде prod со ссылкой на это новое приложение, но с точки зрения пользователя я не хочу, чтобы они видели, как они перенаправляются на dev.server. .com, я хочу, чтобы их адресная строка оставалась прежней. Когда они нажимают на ссылку, чтобы перейти к prod.server.com/new_application
, я хочу, чтобы в их адресной строке было написано prod.server.com/new_application
, но я хочу, чтобы она load dev.server.com/new_application
После прочтения в течение нескольких часов, кажется, точный способ сделать это - через ProxyPass и ReverseProxyPass.
В моем apache я убедился, что эти два модуля загружаются:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Затем, в дальнейшем, я делаю следующее:
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
#### Proxy Stuff
#ProxyRequests On
ProxyPass /new_application/ http://dev.server.com/new_application/
ProxyPassReverse /new_application/ http://dev.server.com/new_application/
Когда я нажимаю <a href="/new_application/">Click here</a>
, размещенный в prod.server.com
, страница в dev.server.com/new_application
загружается - поэтому половина моей проблемы работает правильно - но я не могу понять, как получить эту шкуру от пользователя и оставьте prod.server.com/new_application
то, что они видят в своей адресной строке.