VMware部署Amazon Linux 2023后遇SSL_ERROR_SYSCALL错误求解决
Amazon Linux 2023 VMware虚拟机HTTPS访问失败问题排查与修复
问题描述
已完成以下操作:
- 下载Amazon Linux 2023的VMware ESX镜像并导入虚拟机
- 通过seed.iso完成初始化配置,成功启动虚拟机并建立SSH连接
- 使用
curl或wget访问HTTPS站点时失败,执行curl -v https://google.com得到以下报错:
[root@amazon-linux-2023 ec2-user]# curl -v https://google.com * Host google.com:443 was resolved. * IPv6: 2404:6800:4001:802::200e * IPv4: 142.251.223.78 * Trying 142.251.223.78:443... * Connected to google.com (142.251.223.78) port 443 * ALPN: curl offers h2,http/1.1 * TLSv1.3 (OUT), TLS handshake, Client hello (1): * CAfile: /etc/pki/tls/certs/ca-bundle.crt * CApath: none * OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.com:443 * Closing connection curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.com:443
可能原因
- MTU配置过大:虚拟机网卡MTU设置超过网络路径支持的最大值,导致TLS握手数据包被丢弃,触发
SSL_ERROR_SYSCALL - 网络拦截:本地防火墙、VMware宿主机防火墙或上游网络设备拦截了TLS握手流量
- OpenSSL/TLS版本兼容性:部分网络环境对TLS 1.3支持不佳,握手过程中断
- 系统CA证书异常:虽然报错未指向证书验证,但证书 bundle 损坏也可能间接导致握手失败
修复步骤
1. 排查基础网络连通性
- 测试目标IP连通性:
ping 142.251.223.78 - 测试443端口是否能建立TCP连接:
如果telnet连接后立即断开,大概率是MTU或防火墙问题。telnet 142.251.223.78 443
2. 调整网卡MTU
- 查看当前网卡MTU:
ip link show - 临时调整MTU为1400(多数网络环境兼容):
ip link set dev eth0 mtu 1400 - 重新测试
curl https://google.com,如果恢复正常,将MTU设置永久化:
编辑网卡配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),添加或修改:
重启网络服务:MTU=1400systemctl restart NetworkManager
3. 检查防火墙规则
- 临时关闭本地防火墙测试:
测试HTTPS访问,若恢复正常,调整防火墙规则允许出站443端口:systemctl stop firewalldfirewall-cmd --add-port=443/tcp --permanent firewall-cmd --reload - 同时检查VMware宿主机的防火墙设置,确保未拦截虚拟机的出站TLS流量。
4. 强制使用兼容TLS版本
- 尝试用TLS 1.2发起请求:
如果成功,可考虑将TLS 1.2设为curl默认,或调整系统全局TLS配置。curl -v --tlsv1.2 https://google.com
5. 更新CA证书 bundle
- 重新安装并更新CA证书:
完成后再次测试HTTPS访问。dnf update ca-certificates -y update-ca-trust extract
内容的提问来源于stack exchange,提问作者Ivan Berezanskiy
相关产品推荐
相关产品推荐

