什么导致';基础连接已关闭';关于nginx?
我们有一个支付网关集成,将数据发布到第三方URL。然后用户完成他们的支付过程,当交易完成时,网关将发回我们服务器上的URL 该post失败,网关报告以下错误: 错误13326:无法与ServerResultURL[]通话 完整错误详细信息:基础连接已关闭:发送时发生意外错误 响应对象为空 当我直接发布到什么导致';基础连接已关闭';关于nginx?,nginx,connection,Nginx,Connection,我们有一个支付网关集成,将数据发布到第三方URL。然后用户完成他们的支付过程,当交易完成时,网关将发回我们服务器上的URL 该post失败,网关报告以下错误: 错误13326:无法与ServerResultURL[]通话 完整错误详细信息:基础连接已关闭:发送时发生意外错误 响应对象为空 当我直接发布到https://foo.com/bar我得到了预期的200条回复,因此我不确定这条消息会落在哪里 这是在运行nginx的Ubuntu盒上 是什么导致了这个问题?我怎样才能找到更多的细节和解决方法
https://foo.com/bar
我得到了预期的200条回复,因此我不确定这条消息会落在哪里
这是在运行nginx的Ubuntu盒上
是什么导致了这个问题?我怎样才能找到更多的细节和解决方法
编辑:
为了简洁起见,上面的例子是在一个URL上的/bar
,但事实是我有一个重写(见下文)。实际发布到的URL是/themes/third\u party/carthrob/lib/extload.php/cardsave\u server/result
,所以我不确定下面的重写是否是导致问题的原因
我仍然会假设,当我通过邮递员发帖时,会收到200条回复
# http://expressionengine.stackexchange.com/questions/19296/404-when-sagepay-attempts-to-contact-cartthrob-notification-url-in-nginx
location /themes/third_party/cartthrob/lib/extload.php {
rewrite ^(.*) /themes/third_party/cartthrob/lib/extload.php?$1 last;
}
此类错误的典型原因 我敢打赌,您的服务器正在以网关(PaymentSense,对吧?)不期望的方式响应POST to/bar。这可能是因为:
body\u filter\u by\u lua
将其响应转储到nginx变量中,这样您就可以看到出现了什么响应。这是一个很好的设置示例。我认为这将引导您了解/bar不起作用的原因
对NGINX请求进行故障排除
如果这还不能说明原因,请尝试记录请求数据。您可以使用以下方法来完成此操作:
location = /bar {
log_format postdata $request_body;
access_log /var/log/nginx/postdata.log postdata;
fastcgi_pass php_cgi;
}
查看此帖子的请求头和正文,如果错误没有立即显现,请尝试重播完全相同的请求(使用HTTP客户端提供完全控制,例如curl
)并调试/bar发生的情况。nginx是否正在运行您认为在向/bar发送相同的帖子时应该运行的脚本/控制器?将日志记录添加到/bar脚本/控制器进程
如有必要,请使用交互式调试。(如果您使用PHP,则可能需要远程Xdebug,但无论您在服务器上使用什么,大多数web应用程序工具都提供某种形式的交互式调试。)
网络故障排除
如果这些都不起作用,那么可能是网关无法连接到正在运行此功能的主机和端口,或者您存在其他类型的网络连接问题。我会在Ubuntu框上运行
tcpdump
,以捕获网络流量。如果您可以在安静的(网络)上重新创建此功能系统,这将对您有利。不过,它是TLS(https)因此,不要期望看到连接打开和数据包到达的情况。如果你发现你需要在TLS流量内看到故障,你可以考虑使用<代码> MITMyPosivs/CODE >这样做。检查请求似乎是逻辑起点,但我似乎遇到了麻烦。ode>log_format配置到服务器上的位置
块
,但我收到一个错误“log_format”在/etc/nginx/sites enabled/foo.com
中不允许使用指令。因此,我移动到默认nginx配置上的http
,希望捕获对所有URL的post请求,但我根本没有从任何表单post获取任何记录的数据。我没有尝试使用虚拟主机/服务器块。您尝试过移动l吗og_format
指令在其他地方,例如在服务器块之前?然后将access_log
指令留在服务器的位置块中。。。