如何在Apache Tomcat中去除端口号8081的连接器端口后,从URL中删除端口号

3
我在我的Linux机器上运行了多个Tomcat实例,因此不同实例有多个连接器端口,如8080、8081、8082。我想从URL中删除端口号。 例如: 当前URL:www.sushant.com:8081/ 需要的URL:www.sushant.com/ 请告诉我如何做到这一点。 谢谢。

我使用了80端口,但是这只能让我在配置为80端口的单个实例中删除端口。但是正如我所提到的,有许多不同的端口。 - Sushant Srivastava
1
你需要一个单一的前端服务器以反向代理模式运行,将外部URL映射到内部URL,例如将www.sushant.com/service1映射到www.sushant.com:8081。在谷歌上搜索“nginx反向代理”。 - Marko Topolnik
2个回答

4
您应该考虑在您的服务器上使用代理。Apache官方网站有一篇非常好的教程,可以使用Apache Web服务器。http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html。这样您就可以通过80端口连接到您的服务器,而在浏览器的url栏中不会显示。

4
我看到上面的答案有些困难,所以想提供一个例子。因为我使用的是Ubuntu,所以我需要更改/etc/apache2/目录下的apache2.conf文件。根据您的操作系统,您可以找到apache2.conf文件或httpd.conf文件。
我添加了以下规则 -
    <VirtualHost *:80>  
    ServerName sushant.com
    ServerAlias www.sushant.com

    ProxyRequests On

    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    <Location />
            ProxyPass http://localhost:7777/
            ProxyPassReverse http://localhost:7777/
    </Location>

 </VirtualHost>
 <VirtualHost *:8081>
    ServerName  sushant.com
    ServerAlias www.sushant.com

    ProxyRequests on

    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    <Location />
            ProxyPass http://localhost:8081/
            ProxyPassReverse http://localhost:8081/
    </Location>

  </VirtualHost>

现在,它可以在有或没有端口的情况下运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接