我在这个问题上挣扎了一段时间,肯定是做错了什么。
我在同一台机器上有一个apache服务器和一个JBoss服务器。我想将mydomain.com的流量重定向到example本地主机:8080/ JBoss。域名系统当前设置为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>
使用建议更新了-仍未转发到端口8080
<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>
发布于 2012-10-26 23:16:45
您应该在ProxyPass和ProxyPassReverse中省略域http://example.com
,并将其保留为/
。此外,您需要将example/
末尾的/
保留到它要重定向的位置。此外,我在使用http://example.com
和http://www.example.com
时遇到了一些麻烦--只有www才能工作,直到我开发了ServerName www.example.com和ServerAlias example.com。试一试下面的内容。
<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
sudo a2enmod proxy && sudo a2enmod proxy_http && sudo service apache2 restart
发布于 2012-11-06 09:29:59
我用下面的代码解决了这个问题:
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
发布于 2013-07-29 13:45:28
我想要这样做,这样我就可以从根域访问Jenkins。
我发现我必须禁用默认站点才能使其正常工作。这就是我所做的。
$ sudo vi /etc/apache2/sites-available/jenkins
并将其插入到文件中:
<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>
接下来,您需要启用/禁用相应的站点:
$ sudo a2ensite jenkins
$ sudo a2dissite default
$ sudo service apache2 reload
希望这能帮助到别人。
https://stackoverflow.com/questions/8541182
复制相似问题