使用虚拟主机的 tomcat 应用程序无法在本地网络之外访问

使用虚拟主机的 tomcat 应用程序无法在本地网络之外访问

我在 Windows Server 2019 上使用 tomcat v8.5 通过虚拟主机部署我的应用程序。在 server.xml 中:

 <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               />
...
<Host name="name1.name2.example.com"    appBase="webapps/ROOT"/>

我只能从本地网络通过 URL 访问部署在 ROOT 中的应用程序name1.name2.example.com,而不能从网络外部访问。

如何使其从网络外部可访问,请注意防火墙已禁用并且两端都定义了端口 80 的入站和出站规则。

PS:如果我更改port="80"port="8080"可从网络外部访问应用程序,但使用 FQDN 后的端口号:name1.name2.example.com:8080我不想要(我想隐藏端口号)

答案1

使用 Nginx 作为反向代理可以帮助您解决这个问题。您可以在任何端口(例如 8080)上运行应用程序,并使用 Nginx 将流量从端口 80 转发到该端口。这样,外部用户在访问您的应用程序时就无需指定端口号。

相关内容