HTTP GET请求有效但POST请求没有

时间:2013-04-29 21:38:53

标签: spring java-ee tomcat networking

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

有没有人见过这个?

2 个答案:

答案 0 :(得分:0)

我们发现了这个问题。我们的DBA意外删除了该特定服务器上的MySQL数据库文件(/叹气)。在我们的Spring应用程序中,我们使用GET请求进行记录检索,我们试图检索的记录必须由MySQL缓存。这使得GET请求似乎正在发挥作用。当我们尝试将新数据添加到我们使用POST请求的数据库时,Tomcat将等待来自MySQL的响应(从未发生过)。

答案 1 :(得分:0)

根据我的经验,如果您遇到超时错误,则几乎总是由于没有为应用程序打开正确的端口。例如,进入您的虚拟机规则,并确保开放8080、8443或80、443端口以用于HTTP和https流量。 在Google Cloud Platform中:在VPC联网->防火墙规则下。 Azure和AWS相似。