在过去的 24 小时内,两个独立服务器一直无法连接到我们的 Web 服务器。它们正在尝试打开端口 80 连接。
它们都收到“连接超时”错误。这些服务器位于两个不同的国家/地区。我正在等待这些服务器的 tracert。
但与此同时,我认为原因肯定出在我们自己的服务器上,或者出在我们前面的 Netscaler 上。托管公司坚称 Netscaler 没有问题。
我可以在哪里检查我们的 centos 机器以跟踪被拒绝的连接?有没有我可以查看的日志?
更新:
将其设为三台独立服务器。事实证明,Paypal 也无法发送即时付款通知。所有三项服务都试图调用我们服务器上的单独页面。
我们使用 Paypal Sandbox 重复了错误,现在我们可以继续测试它。我们在其他网站上测试了这一点。Paypal 发送的 http 请求如下:
Content-Type: application/x-www-form-urlencoded
Content-Length: 699
不幸的是,我们的服务器没有收到这个 http 请求。我们在同一台 Netscaler 后面的另一台服务器上尝试了此操作。它也没有收到 http 请求。
我认为 Netscaler 出于某种原因阻止了连接。
为什么 Netscaler 会阻止此连接?我应该检查什么?
更新 2:
任何没有“用户代理”信息的 http 请求似乎都会在 Netscaler 级别被阻止。
答案1
不要查看服务器日志,首先确认 HTTP 请求是否通过以下方式到达您的服务器;
tcpdump -nni any host 111.111.111.111 and port 80
因为 111.111.111.111 是远程 IP。如果在他们发起连接后您看不到任何内容,则问题出在其他地方。如果 Web 服务器在较低层以某种方式被阻止,您可能不会在 Web 服务器日志文件中看到被拒绝的连接。