SSL 上的 fsockopen 在特定主机上不起作用
fsockopen on SSL does not working on specific host
在工作的生产服务器上,在某个时候(6 月 24 日 13:18),fsockopen 开始失败,原因不明。
$sock = fsockopen("ssl://mail.dupcheck.org",993, $errno, $errstr, 300);
- 它returns: $sock = false, errno = 0, errstr = "" 相当快。
- 它打开其他服务器。
重要的是,
- 它在 linux 网络服务器和 windows (WAMP) 开发服务器上都不起作用
- MS Outlook 和其他邮件客户端完美连接到此服务器并提取邮件。
- 那天(6 月 24 日)我们的 GoDaddy SSL 证书出现了一些问题 - 它开始显示不正确的日期!我们打电话给 GoDaddy 的支持,他们说,问题已解决。
- 从那以后,将近一个月,有时 fsockopen 工作,我们收到电子邮件,但没有人注意,没有人检查特定的邮件发送日志......直到今天它达到了 300M!
====
PHP 7.3.3-1, ubuntu16.04.1
是的,我阅读了手册,在谷歌上搜索了几个小时,没有任何缓解。没有人知道那是什么,包括系统管理员。
来自评论:
... openssl s_client perfectly working ...
它的工作原理是连接并进行 TLS 握手。但它不能完美地工作,因为它清楚地表明证书验证失败:
$ openssl s_client -connect mail.dupcheck.org:993
...
Certificate chain
0 s:/OU=Domain Control Validated/CN=mail.dupcheck.org
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
...
Verify return code: 10 (certificate has expired)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
仔细查看证书:
Serial Number:
92:a0:2d:2a:2f:28:6a:d5
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2
Validity
Not Before: Jun 24 10:16:38 2016 GMT
Not After : Jun 24 10:16:38 2019 GMT
因此,该证书几周前就过期了。这可能是连接失败的原因。
...
tls.imirhil.fr/tls/mail.dupcheck.org:993 does not seem to show anything extraordinary.
看起来这个站点根本不检查证书的有效性。
在工作的生产服务器上,在某个时候(6 月 24 日 13:18),fsockopen 开始失败,原因不明。
$sock = fsockopen("ssl://mail.dupcheck.org",993, $errno, $errstr, 300);
- 它returns: $sock = false, errno = 0, errstr = "" 相当快。
- 它打开其他服务器。
重要的是,
- 它在 linux 网络服务器和 windows (WAMP) 开发服务器上都不起作用
- MS Outlook 和其他邮件客户端完美连接到此服务器并提取邮件。
- 那天(6 月 24 日)我们的 GoDaddy SSL 证书出现了一些问题 - 它开始显示不正确的日期!我们打电话给 GoDaddy 的支持,他们说,问题已解决。
- 从那以后,将近一个月,有时 fsockopen 工作,我们收到电子邮件,但没有人注意,没有人检查特定的邮件发送日志......直到今天它达到了 300M!
====
PHP 7.3.3-1, ubuntu16.04.1
是的,我阅读了手册,在谷歌上搜索了几个小时,没有任何缓解。没有人知道那是什么,包括系统管理员。
来自评论:
... openssl s_client perfectly working ...
它的工作原理是连接并进行 TLS 握手。但它不能完美地工作,因为它清楚地表明证书验证失败:
$ openssl s_client -connect mail.dupcheck.org:993
...
Certificate chain
0 s:/OU=Domain Control Validated/CN=mail.dupcheck.org
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
...
Verify return code: 10 (certificate has expired)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
仔细查看证书:
Serial Number:
92:a0:2d:2a:2f:28:6a:d5
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2
Validity
Not Before: Jun 24 10:16:38 2016 GMT
Not After : Jun 24 10:16:38 2019 GMT
因此,该证书几周前就过期了。这可能是连接失败的原因。
... tls.imirhil.fr/tls/mail.dupcheck.org:993 does not seem to show anything extraordinary.
看起来这个站点根本不检查证书的有效性。