希望这很容易做到 - 我无法弄明白!
如果我得到任何错误的术语,我会提前道歉。我对网络服务器的了解并不出色!
我在一个域中有两个apache服务器。一个是侦听端口80(我们可以称之为Apache1),另一个是端口10080(Apache2)。
我想要实现的是当用户在浏览器的URL栏中输入某个域地址(比如www.domain.com)时,他们会从端口80上的默认服务器重定向到侦听端口的服务器10088
我使用Apache 1服务器的Apache httpd.conf文件中的Redirect关键字实现了这一点,如下所示: -
<VirtualHost *:80>
ServerName www.domain.com
Redirect / http://www.domain.com:10088/exampleApp
</VirtualHost>
虽然这很有效,但不幸的是,它将浏览器中的URL更改为www.domain.com:10088/exampleApp,我需要将其显示给用户输入相同的域名 - www.domain.com
我尝试过使用ProxyPass和ReverseProxyPass,但我可以让它工作。我不知道是否可以使用URL重写来实现解决方案。
提前感谢您提供任何帮助
答案 0 :(得分:6)
您需要使用反向代理:
如果您的两个站点都在同一台服务器上侦听,您可以直接在localhost(127.0.0.1)上进行代理。如果没有,请确保可以从Apache1解析域名
<VirtualHost *:80>
ServerName www.domain.com
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:10088/exampleApp/
ProxyPassReverse / http://127.0.0.1:10088/exampleApp/
</VirtualHost>