【问题标题】: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>