如何解决连接AWS EC2实例时出现的SSL连接错误
解决EC2实例连接时的ERR_SSL_PROTOCOL_ERROR问题
针对你遇到的ERR_SSL_PROTOCOL_ERROR错误,这是浏览器与服务器SSL握手失败导致的,按以下步骤排查:
先确认访问协议:如果你的Web服务器只配置了HTTP服务,直接用
http://18.170.25.198访问,不要加https://——很多新手会犯这个错,用HTTPS访问只开了HTTP的端口。检查Web服务状态:登录EC2实例,执行对应命令查看服务是否正常运行:
- Nginx:
systemctl status nginx - Apache:
systemctl status httpd
如果服务没启动,先启动服务;如果有报错,根据日志(比如/var/log/nginx/error.log或/var/log/httpd/error_log)排查。
- Nginx:
验证443端口监听:执行
ss -tulpn | grep :443,确认Web服务是否在监听443端口。如果没有输出,说明你还没给服务器配置SSL证书和HTTPS虚拟主机,得先完成这部分配置。检查安全组与网络ACL:
- 确认EC2实例的安全组允许**入站443(HTTPS)**流量;
- 如果用了VPC网络ACL,要同时放行入站和出站的443端口流量,ACL是双向规则,缺省可能会拦截。
验证SSL配置合法性:
- Nginx:执行
nginx -t检查配置文件语法,重点看ssl_certificate和ssl_certificate_key的路径是否正确、文件权限是否可读; - Apache:执行
apachectl configtest,检查SSLCertificateFile和SSLCertificateKeyFile的配置。
- Nginx:执行
用openssl测试握手细节:在本地终端执行
openssl s_client -connect 18.170.25.198:443,从输出里找具体错误(比如证书无效、握手超时、协议不匹配等),这能帮你精准定位问题。
内容的提问来源于stack exchange,提问作者mxnuchim
相关产品推荐
相关产品推荐

