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

Nginx配置域名证书映射却返回默认SSL证书的原因排查

Nginx返回默认自签名证书的排查原因
  • cert-mappings.conf未被正确引入主配置
    检查Nginx主配置文件(如nginx.conf)是否通过include指令加载了cert-mappings.conf,比如要确保有类似include /etc/nginx/cert-mappings.conf;的配置,路径必须准确,否则Nginx无法读取到证书映射规则。

  • 证书映射的域名匹配规则错误
    确认cert-mappings中配置的域名与实际请求的域名完全匹配:

    • 如果是特定域名,要注意是否包含www.前缀(比如配置了example.com但请求的是www.example.com);
    • 通配符域名需遵循*.example.com的格式,且要确保Nginx的server_name匹配逻辑能优先命中该规则,避免被泛域名server块抢先匹配。
  • 未重新加载Nginx配置
    修改配置后必须执行nginx -s reload或systemctl reload nginx,否则Nginx会继续使用旧配置,新的证书映射不会生效。

  • 证书文件路径或权限问题

    • 检查cert-mappings中指定的ssl_certificate和ssl_certificate_key路径是否正确,路径错误会导致Nginx无法找到证书;
    • 确保Nginx进程所属用户(通常为www-data)拥有证书文件的读取权限,权限不足会导致证书加载失败,触发默认证书 fallback。
  • SNI支持未开启或配置错误

    • 旧版本Nginx可能未编译SNI支持,需确认编译时添加了--with-http_ssl_module模块;
    • 确保每个server块都正确配置了server_name,SNI是Nginx根据请求域名匹配对应证书的核心机制,缺失会导致Nginx返回第一个匹配的证书或默认证书。
  • 默认server块优先级过高
    如果存在配置了自签名证书的默认server块(如server_name _;),当请求域名未匹配到任何其他规则时,会优先使用该块的证书。需确保特定域名的证书映射规则优先级高于默认块,或调整默认块的配置。

  • cert-mappings配置语法错误
    用nginx -t命令检测配置语法是否正确,语法错误(如漏写分号、括号不匹配、证书与密钥配对错误)会导致Nginx加载配置失败,进而继续使用旧配置或默认证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:52:09