Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring HTTP GET请求工作,但POST请求不工作_Spring_Tomcat_Networking - Fatal编程技术网

Spring HTTP GET请求工作,但POST请求不工作

Spring HTTP GET请求工作,但POST请求不工作,spring,tomcat,networking,Spring,Tomcat,Networking,我们的Spring应用程序运行在几个不同的服务器上。对于其中一个服务器,POST请求似乎不起作用。所有使用GET请求的站点功能都运行良好;然而,一旦我点击了使用POST请求(例如表单提交)的内容,网站就会永久挂起。服务器不会给出任何响应。我们可以在Tomcat Manager中看到请求,但它们不会超时 有人见过这个吗?我们发现了这个问题。我们的DBA意外地删除了特定服务器上的MySQL数据库文件(/sigh)。在Spring应用程序中,我们使用GET请求进行记录检索,我们试图检索的记录必须由My

我们的Spring应用程序运行在几个不同的服务器上。对于其中一个服务器,POST请求似乎不起作用。所有使用GET请求的站点功能都运行良好;然而,一旦我点击了使用POST请求(例如表单提交)的内容,网站就会永久挂起。服务器不会给出任何响应。我们可以在Tomcat Manager中看到请求,但它们不会超时


有人见过这个吗?

我们发现了这个问题。我们的DBA意外地删除了特定服务器上的MySQL数据库文件(/sigh)。在Spring应用程序中,我们使用GET请求进行记录检索,我们试图检索的记录必须由MySQL缓存。这使得GET请求看起来好像在工作。当我们使用POST请求向数据库添加新数据时,Tomcat会等待MySQL的响应,而该响应从未出现过。

根据我的经验,如果出现超时错误,几乎总是因为没有为应用程序打开正确的端口。例如,进入虚拟机的规则,确保端口8080、8443或80443对http和https通信开放。
在谷歌云平台:它在VPC网络->防火墙规则下。Azure和AWS是相似的。

很难从给定的信息中确定错误的原因。发布一些代码。发布调试推论。什么有效,什么无效,哪里失败。任何失败的特定场景,等等@gotuskar想想,我会发布什么代码?在我的本地服务器和所有生产服务器上一切正常,除了我正在引用的服务器。我无法将整个项目粘贴到这里。另外,我提到GET请求有效,POST请求无效。我希望我能说得更具体些,但这就是我所能观察到的。你有一个Web服务器还是直接转到Tomcat?那么生产机器就有一些问题了。我只能推断出这些。当然,您不能发布代码。这就是为什么我还要求提供调试信息。有什么副作用和不确定性吗?如果坏的生产机器从集群中移除,所有请求都正常工作吗?如果坏的生产机器是集群中唯一的机器,所有好的机器都被删除了,那么每个POST请求都会失败吗?@ben75对不起,我不太清楚你的意思。出现问题的服务器是一个运行Tomcat的Linux机器。