You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

指向Azure VM的子域名HTTPS访问出现ERR_SSL_PROTOCOL_ERROR问题

可能的错误与排查方向

以下是导致ERR_SSL_PROTOCOL_ERROR的常见原因及对应的排查步骤:

  • Web应用未在4000端口启用SSL监听
    HTTP能正常访问sub.mydomain.com:4000说明端口网络连通,但如果应用仅配置了HTTP监听,未在该端口绑定SSL证书并启用HTTPS协议,客户端发起TLS握手请求时,服务器会返回HTTP响应,直接触发协议不匹配错误。
    排查:查看应用的配置文件,确认是否开启HTTPS监听项,并指定了正确的证书(公钥、私钥)路径;使用命令 openssl s_client -connect sub.mydomain.com:4000 测试,若无法返回证书信息或提示握手失败,说明应用未正确配置SSL。

  • SSL证书配置无效
    即使已获取证书,若存在以下情况也会导致握手失败:

    • 证书的主体(Subject)或SAN字段不匹配sub.mydomain.com;
    • 证书链不完整(缺少中间证书),浏览器无法验证证书信任链;
    • 证书已过期或未正确导入应用/代理服务器。
      排查:用上述openssl命令查看返回的证书详情,确认域名匹配度;检查证书文件是否包含完整的链(部分CA会单独提供中间证书,需与服务器证书合并)。
  • 反向代理(若使用)的SSL配置缺失
    如果虚拟机内使用了Nginx、Apache等反向代理,仅配置HTTP转发到应用端口,未在4000端口配置HTTPS监听规则,也会出现该错误。
    排查:查看代理服务器的配置文件,确认是否存在针对4000端口的HTTPS server块,是否正确关联证书文件,且转发目标为应用的正确端口(若应用本身运行在非4000的HTTP端口)。

  • TLS版本兼容性问题
    若应用仅启用了过时的TLS版本(如TLS 1.0)或过于前沿的版本,浏览器可能因不支持而拒绝握手。
    排查:用指定版本的openssl命令测试,如 openssl s_client -connect sub.mydomain.com:4000 -tls1_2 或 -tls1_3,若某一版本能成功握手,说明需调整应用的TLS版本配置,启用主流兼容版本(TLS 1.2+)。

  • 本地缓存干扰
    本地DNS缓存的旧记录、浏览器缓存的无效证书信息可能导致访问异常。
    排查:清除本地DNS缓存(Windows执行ipconfig /flushdns,Linux执行systemd-resolve --flush-caches),使用浏览器隐私窗口访问测试。

内容的提问来源于stack exchange,提问作者White Bear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 10:16:10