我曾在 stack overflow 上问过这个问题,并被引导到这个论坛。我的问题如下:
服务器是否可以模拟 http 408 错误?支付处理器正在尝试向我的网站发送 http 帖子,他们说在他们的日志中正在建立连接,但我的服务器在 0.1 秒后响应了 http 408。他们是否可以立即发回 408,因此没有实际超时?
我得到的答案是:
当然,如果服务器选择这样做,它可以立即返回 HTTP 408 错误。这将是对错误代码的滥用,但这是可能的。您可能希望使用数据包嗅探器来查看 408 是从您的服务器发送的,还是从某个上游代理发送的。
我的新问题是:
我该如何检查是否确实如此?
谢谢
磷
答案1
您的网络服务器应该有一个访问日志或错误日志,其中指示请求的 URL 和该请求的响应代码。如果您的服务器没有记录该请求,则某些代理已拦截该请求。如果您的服务器使用不同的响应代码记录了该请求,则某些代理以不应该的方式干扰了该请求(或者该支付处理器对收到的代码有误)。如果服务器使用 408 错误代码记录了该请求,那么您需要找出原因。很可能响应代码说的是实话,并且有些事情超时了,因此您需要查看您在哪里配置了超时(大多数服务器除了您使用的脚本或编程环境之外还有超时限制,因此您需要检查至少两个地方)。
如果您需要更多详细信息,则需要告诉我们更多关于您的环境的信息(服务器是什么,Apache?请求的 URL 是用什么编写的,PHP?它是如何运行的(mod_whatever、fastCGI 等?)。