apache - 重定向到域的不同 Apache 服务器,但保持 URL 不变

标签 apache redirect proxy reverse-proxy ports

希望这很容易做到——我就是想不通!

如果我有任何术语错误,我提前道歉。我对网络服务器的了解并不高明!

我在一个域中有两个 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 重写来实现解决方案。

在此先感谢您的帮助

最佳答案

您需要为此使用反向代理:

如果您的两个站点都在同一台服务器上监听,您可以只在本地主机 (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>

关于apache - 重定向到域的不同 Apache 服务器,但保持 URL 不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737669/

相关文章:

apache - 无法上传大于 1 MB 的文件

asp.net-mvc - 如果经过身份验证,MVC 中的默认页面会有所不同

java - Apache POI,同时使用 XSSF 和 HSSF

apache - RewriteRule 删除版本号

PHP代码没有被执行,但代码显示在浏览器源代码中

.htaccess - 临时重定向到维护页面

PHP:登录后将用户返回到其原始页面

django - 操作错误: no such table: django_content_type when using unittest

proxy - 在录制期间无法让 JMeter 对站点进行身份验证

delphi - 如何制作一个简单的代理服务器?