2

具有嵌入式 tomcat Web 服务器的 Spring Boot 应用程序作为执行的 JAR 文件在 IIS 之上运行是否总是需要在 URL 中指定端口才能在浏览器中访问应用程序?

4

2 回答 2

1

所有生产应用程序 url 在其 url 中都没有端口号,它运行在内部网络或公共网络上。另一方面,基于 java 的应用程序服务器运行在 80 以外的端口上,例如,tomcat 默认运行在 8080 上。我们可以将 tomcat 的默认端口更改为 80,但我们使用像 nginx 这样的 Web 服务器并使其在端口 80 上运行并将请求转发到 tomcat 或 java 应用程序服务器。

使用像 nginx 这样在端口 80 上运行的 Web/代理服务器而不是将 tomcat 或应用程序服务器的端口更改为 80 有以下好处。

  1. 在生产环境中,tomcat/其他应用服务器运行在多个节点上,我们可以使用 nginx 作为负载均衡器。
  2. 繁琐的url在这里很容易美化(这里去掉了端口号)
  3. 像服务器一样的nginx有很多优点,大家可以google一下了解更多。

以下线程解释了从 nginx 到 tomcat 的转发请求。

Nginx 配置将站点直接传递给带有上下文的 tomcat webapp

于 2016-12-22T02:57:33.037 回答
1

是的,如果您使用默认端口 80。假设您的应用程序在 1.1.1.1:80 运行,您可以通过 1.1.1.1 或 1.1.1.1:80 访问它

于 2016-12-21T22:54:05.547 回答