【问题标题】:Can I access my Springboot application without providing the port in the URL?我可以在不提供 URL 端口的情况下访问我的 Spring Boot 应用程序吗?
【发布时间】:2017-09-04 16:51:33
【问题描述】:

我在我的项目上运行mvn clean install 并编译了一个胖 JAR。它构建没有任何错误。我将 JAR 移动到我的服务器并从其文件位置运行 java -jar app.jar。现在,当我点击服务器的地址时,我得到以下信息:

403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied.

我正在运行 Windows Server 2012R2。当我在其中包含index.html 文件时,文件夹C:\inetpub\wwwroot 确实提供网页服务。当我没有任何东西时,我会收到 403 错误。在某些时候,我运行了 Springboot 应用程序,但我不记得发生了什么变化。我应该删除inetpub 文件夹吗?为什么我的网络应用程序没有从提供的 JAR 中运行?

编辑:我刚刚意识到,如果我使用 IP 地址和正确的服务器端口,即http://00.00.00.0:8080/,那么我可以访问该应用程序。有没有办法进行设置,以便应用程序仅使用 IP 地址启动?例如,我可以在我的application.properties 文件中添加什么内容吗?

【问题讨论】:

    标签: java maven spring-mvc spring-boot jar


    【解决方案1】:

    HTTP 的标准 HTTP 端口是 80。所以要在 URL 中省略端口,您需要 set the server port of spring boot to 80

    你意识到 spring boot 会启动它自己的 HTTP 服务器,在 jar 文件中为应用程序提供服务,对吧?因此,如果您的 wwwroot 目录完全不相关,并且您不应该在机器上运行另一个 Web 服务器来为您的 Spring Boot 应用程序提供服务,那么内容。

    【讨论】:

    • 我将端口设置为 80,但我得到了同样的错误。我需要考虑卸载似乎已与我的 Windows 服务器安装打包在一起的 IIS 服务器...
    • 如果80端口已经被占用,启动spring boot app时应该会出现异常
    • 其实我看到这是一个常见的问题:stackoverflow.com/questions/1430141/…
    猜你喜欢
    • 2021-05-16
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2015-12-01
    • 2010-10-13
    相关资源
    最近更新 更多