TLS 协商在 Client Hello 处卡住

TLS 协商在 Client Hello 处卡住

我们正在使用位于英国的 Azure 应用程序网关上托管的 HTTPS 端点。

到目前为止,英国境内及境外的所有地区都可以访问它。

新加坡的某个特定客户站点无法通过某些设备(平板电脑、Linux 服务器等)访问,但可以通过 Windows 笔记本电脑/台式机访问。

curl 和 openssl 输出显示 TLS 进程在 Client Hello 之后卡住。

我们测试过的所有其他服务似乎都可以运行(AWS LB、另一个项目上的 Azure AG、CloudFlare CDN 等)。

它看起来像经常报告的 TLS/MTU 问题,但是只有当我们将客户端设备的 MTU 降低到 96 时它才会起作用。

新加坡的一个应用程序网关也出现了同样的问题,提供了一个简单的测试页面。

网上的一些想法表明与数据包相关的阻塞,但考虑到我们可以在不同条件下重现它,这似乎不太可能。客户的 IT 团队声称网络配置相当标准。

这是最远的访问地点之一,但不是最远的站点,这也很好。

*   Trying xx.xx.xx.xx...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x1c628b0)
* Connected to xx.xxx.xxx (xx.xx.xx.xx) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to xx.xxx.xxx:443 
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to xx.xxx.xxx:443 

相关内容