我在一台机器上运行两个不同的两个Tomcat服务器的两个网站。一个Tomcat正在80端口监听,另一个在8080监听。
要求是,我想在不附加端口的情况下访问这两个网站。例如:
网站A. http://www.siteA.com(Tomcat 1:80号港口)
网站B. http://www.siteB.com(Tomcat 2:8080端口),
目前,站点B可通过http://www.siteB.com:8080访问。有什么可能的选择,所以我可以访问网站B而不添加端口8080(即http://www.siteB.com)并且没有域名转发和标记,我正在考虑以下内容:
请分享一些有用的指针。谢谢。
卡姆兰
答案 0 :(得分:0)
我认为这是反向代理的一个很好的用例 这个答案是一个很好的起点,可以帮助您使用NGINX设置您的要求:https://stackoverflow.com/a/13241047/967410
适用于您的情况,它将是这样的:
server {
server_name www.siteA.com;
# siteA reverse proxy follow
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass $scheme://x.x.x.x:80;
}
server {
server_name www.siteB.com;
# siteB reverse proxy settings follow
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://x.x.x.x:8080;
}
答案 1 :(得分:0)
为什么不在端口80上运行httpd并使用mod_rewrite转发请求?
在这种情况下,无论如何,你真正关心的是主机名。
显然,在这种情况下,你会在80以外的端口上拥有两个tomcat实例。