Apache如何重定向到另一个端口?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (425)

我一直在努力争取一段时间,我确实做错了什么。

我在同一台机器上安装了Apache服务器和JBoss服务器。我想重定向mydomain.com的流量到JBoss localhost:8080 / example。DNS当前为mydomain.com设置,并且在进入浏览器时将直接进入端口80。

我的问题是,当某个域名到达Apache(在本例中为“mydomain.com”)时,如何重定向到不同的端口?

<VirtualHost ip.addr.is.here> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName mydomain.com
  ProxyPass http://mydomain.com http://localhost:8080/example
  ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost> 

仍未向8080port转发

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName mydomain.com
  ServerAlias www.mydomain.com
  ProxyPass http://mydomain.com http://localhost:8080/example
  ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost> 
提问于
用户回答回答于

您应该忽略http://example.comProxyPass和ProxyPassReverse中的域,并将其保留为/。此外,您需要将其保留/example/重定向的位置。另外,我在http://example.comvs上遇到了一些麻烦http://www.example.com- 只有在www制作了ServerName www.example.com和ServerAlias example.com之前,这些www才能工作。

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:8080/example/
  ProxyPassReverse / http://localhost:8080/example/
</VirtualHost> 
用户回答回答于

我用以下代码解决了这个问题:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName myhost.com
ServerAlias ww.myhost.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

我还使用了:

a2enmod proxy_http

扫码关注云+社区

领取腾讯云代金券