首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache重定向到另一个端口

Apache重定向到另一个端口
EN

Stack Overflow用户
提问于 2011-12-17 07:01:29
回答 14查看 359.8K关注 0票数 173

我在这个问题上挣扎了一段时间,肯定是做错了什么。

我在同一台机器上有一个apache服务器和一个JBoss服务器。我想将mydomain.com的流量重定向到example本地主机:8080/ JBoss。域名系统当前设置为mydomain.com,当进入浏览器时,它将直接转到端口80。

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

代码语言:javascript
复制
<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> 

使用建议更新了-仍未转发到端口8080

代码语言:javascript
复制
<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> 
EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2012-10-26 23:16:45

您应该在ProxyPass和ProxyPassReverse中省略域http://example.com,并将其保留为/。此外,您需要将example/末尾的/保留到它要重定向的位置。此外,我在使用http://example.comhttp://www.example.com时遇到了一些麻烦--只有www才能工作,直到我开发了ServerName www.example.com和ServerAlias example.com。试一试下面的内容。

代码语言:javascript
复制
<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:8080/example/
  ProxyPassReverse / http://localhost:8080/example/
</VirtualHost> 

完成这些更改后,添加所需的模块并重新启动apache

代码语言:javascript
复制
sudo a2enmod proxy && sudo a2enmod proxy_http && sudo service apache2 restart
票数 255
EN

Stack Overflow用户

发布于 2012-11-06 09:29:59

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

代码语言:javascript
复制
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>

我还使用了:

代码语言:javascript
复制
a2enmod proxy_http
票数 31
EN

Stack Overflow用户

发布于 2013-07-29 13:45:28

我想要这样做,这样我就可以从根域访问Jenkins。

我发现我必须禁用默认站点才能使其正常工作。这就是我所做的。

代码语言:javascript
复制
$ sudo vi /etc/apache2/sites-available/jenkins

并将其插入到文件中:

代码语言:javascript
复制
<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName mydomain.com
  ServerAlias mydomain
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
  <Proxy *>
        Order deny,allow
        Allow from all
  </Proxy>
</VirtualHost>

接下来,您需要启用/禁用相应的站点:

代码语言:javascript
复制
$ sudo a2ensite jenkins
$ sudo a2dissite default
$ sudo service apache2 reload

希望这能帮助到别人。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8541182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档