当我试图连接到HTTPS服务器时,我面临着一种奇怪的行为。我有一个PHP客户机,它运行在无法连接到服务器的Apache2中:
10:15:19.871149 IP 1.1.1.1.57038 > 2.2.2.2.https: Flags [S], seq 3019730905, win 29200, options [mss 1460,sackOK,TS val 2000430949 ecr 0,nop,wscale 7], length 0
10:15:19.878961 IP 2.2.2.2.https > 1.1.1.1.57038: Flags [S.], seq 1419811359, ack 3019730906, win 14480, options [mss 1460,sackOK,TS val 1379727760 ecr 2000430949,nop,wscale 7], length 0
10:15:19.879180 IP 1.1.1.1.57038 > 2.2.2.2.https: Flags [R], seq 3019730906, win 0, length 0如您所见,客户端在从服务器接收SYN数据包时正在重置连接。
但是,我可以使用telnet和wget从该服务器连接到服务器。这是wget会话的流量捕获示例:
10:14:49.320462 IP 1.1.1.1.56948 > 2.2.2.2.https: Flags [S], seq 2001951126, win 29200, options [mss 1460,sackOK,TS val 2000400398 ecr 0,nop,wscale 7], length 0
10:14:49.329152 IP 2.2.2.2.https > 1.1.1.1.56948: Flags [S.], seq 3563908913, ack 2001951127, win 14480, options [mss 1460,sackOK,TS val 1379697210 ecr 2000400398,nop,wscale 7], length 0
10:14:49.329377 IP 1.1.1.1.56948 > 2.2.2.2.https: Flags [.], ack 1, win 229, options [nop,nop,TS val 2000400407 ecr 1379697210], length 0
10:14:49.331041 IP 1.1.1.1.56948 > 2.2.2.2.https: Flags [P.], seq 1:518, ack 1, win 229, options [nop,nop,TS val 2000400409 ecr 1379697210], length 517
10:14:49.339616 IP 2.2.2.2.https > 1.1.1.1.56948: Flags [.], ack 518, win 122, options [nop,nop,TS val 1379697220 ecr 2000400409], length 0
10:14:49.342199 IP 2.2.2.2.https > 1.1.1.1.56948: Flags [.], seq 1:2897, ack 518, win 122, options [nop,nop,TS val 1379697223 ecr 2000400409], length 2896
../..我运行目标服务器(2.2.2.2),而不是客户端服务器,但我可以要求它的管理员进行一些测试。我想他们可能有防火墙阻止连接。你对解决这个问题有什么建议吗?
<#>更新
服务器正在运行CENTOS 8。
它有一个IPTables防火墙,但我不认为这是问题所在。我问过是否有上游防火墙。
我无法通过php-cli尝试soap客户端,但是我通过web服务器和php-cli运行了这段代码,第一个失败了,但最后一个成功了:
我觉得这可能是一些安全模块或web服务器权限的问题。
致以敬意,
发布于 2021-03-17 12:36:52
@Mircea Vutcovici,非常感谢您抽出时间来帮助我。最后,根据客户端告诉我的信息,结果发现这是一个与PHP相关的问题,需要花费太多的时间连接到服务器。增加default_socket_timeout值起了作用。
尽管如此,这还是很奇怪的,因为连接仅仅是在三次握手中关闭的,这种握手只持续了几毫秒。无论如何,我可以做的很多,因为我不是有问题的机器的管理员。
致以敬意,
https://serverfault.com/questions/1057237
复制相似问题