【问题标题】:500 error for HTTP server request timeout?HTTP 服务器请求超时的 500 错误?
【发布时间】:2022-10-23 02:31:22
【问题描述】:

通常,当对服务器的 HTTP 请求超时时,服务器会返回“408 Request Timeout”错误。服务器是否可以返回“500 Internal Server”错误?

我问这个是因为我正在开发一个 Web 应用程序。我知道服务器的任务需要很长时间才能完成,所以无论如何我都期待超时。当我监视对服务器的 AJAX 请求时,该请求几乎在 60 秒 +/- 0.5 后终止。这似乎很可能是服务器超时。但是,我收到“500 内部服务器”错误而不是 408。

它是一个运行在 Tomcat 上的 Spring 应用程序。我对服务器的访问受到限制,所以我看不到服务器日志以了解到底发生了什么。

附言我知道这种行为有时会发生在 Apache HTTP Web 服务器上,但是这也会发生在 Tomcat 上吗?

【问题讨论】:

    标签: tomcat server timeout http-error


    【解决方案1】:
    spring.datasource.url=jdbc:mysql://localhost:3306/database?createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true&useSSL=false
    

    您可以将此行插入到您的 applications.properties 文件中,这意味着,

    • spring.datasource.url=jdbc:mysql://localhost:3306/这个使用mysql作为数据库服务。我认为这可以通过使用相关名称和数据库名称的端口来改变。

    • database?createDatabaseIfNotExist=true = 如果您还没有创建这样的数据库,请使用名为 database 的数据库,创建一个新的。

    • allowPublicKeyRetrieval=true = 允许客户端自动向服务器请求公钥。 (这部分可能是额外的)。

    • useSSL=false = 这将禁用 SSL 并抑制 SSL 错误。

    此外,请注意同一文件中的 spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect 属性。

    最后检查您是否在 pom.xml 文件的依赖项中添加了以下依赖项。

    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
    </dependency>
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
    猜你喜欢
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多