Phi*_*hil 1 tomcat port redirect apache-2.2
我有一个运行 Amazon 的云,它托管两个 tomcat 实例(端口 8080 和 8081),每个 tomcat 为不同的客户运行一个 Web 应用程序(foo 和 bar)。
但是,我在尝试使端口重定向正常工作时遇到问题。
我想谁在来我的网站的用户www.foo.com将被自动地重定向到www.foo.com:8080/foo_app,谁在来我的网站的用户www.bar.com将被自动地重定向到www.bar.com:8180/bar_app。
但是,我也希望端口号不是 URL 的一部分。这一点非常重要,因为大多数用户所处的环境无法导航www.foo.com:8080或www.bar.com:8180只能在端口 80 上进行通信。
所以任何输入的人都www.bar.com/bar_app应该被重定向到www.bar.com:8081/bar_app但 URL 仍然必须是www.bar.com/bar_app
我试图实现这一目标的方法是执行以下操作:
我使用以下命令将端口 80 上的任何通信映射到端口 8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
这对 foo 用户非常有用,但 bar 用户也被重定向。是否可以使此 iptable 映射仅适用于某些“服务器”?
我还添加了条目 /etc/apache2/httpd.conf
允许从我的服务器映射到实际的 webapp
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://123.123.123.123:8080/foo_app
ProxyPassReverse / http://176.34.212.135:8080/foo_app
ServerName www.foo.com
ServerAlias www.foo.com
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://123.123.123.123:8180/bar_app
ProxyPassReverse / http://176.34.212.135:8180/bar_app
ServerName www.bar.com
ServerAlias www.bar.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我将非常感谢任何可以就采取的方法提出建议的人的帮助。
谢谢
您不需要 iptables 配置。事实上,这可能是您的问题的来源。Apache 将执行代理。Apache 在端口 80 上接收对任一域名的请求,并像您一样将请求代理到端口 8080 或 8180 上的正确 Tomcat 服务器。
你所拥有的一般都很好。确保您启用了 mods(代理、proxy_http)。
a2enmod proxy
a2enmod proxy_http
Run Code Online (Sandbox Code Playgroud)
重新启动阿帕奇。
这些可能已经启用 - 它会告诉您它们是否已启用。
这是我对您的 VHost 条目的建议:
<VirtualHost *:80>
ServerName www.foo.com
ProxyPreserveHost On
ProxyPass /foo_app http://123.123.123.123:8080/foo_app
ProxyPassReverse /foo_app http://176.34.212.135:8080/foo_app
RewriteEngine on
RewriteRule ^/$ http://www.foo.com/foor_app
</VirtualHost>
<VirtualHost *:80>
ServerName www.bar.com
ProxyPreserveHost On
ProxyPass /bar_app http://123.123.123.123:8180/bar_app
ProxyPassReverse /bar_app http://176.34.212.135:8180/bar_app
RewriteEngine on
RewriteRule ^/$ http://www.bar.com/bar_app
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
使用 ProxyPass,我总是在两端平衡 URL - 可能让它们不同,但我从未成功过。以上几乎是我在我的一些服务器上所拥有的。
| 归档时间: |
|
| 查看次数: |
2809 次 |
| 最近记录: |