配置子域名使其同时支持www与非www访问
解决www.sub.mydomain.com访问失败及证书错误的建议
核心问题分析
你遇到的NET::ERR_CERT_COMMON_NAME_INVALID是SSL证书不匹配导致的,而且之前的DNS记录配置完全错误——你操作的是www.app,但实际需要配置的是www.sub.mydomain.com。
具体解决步骤
修正DNS记录配置
停止对www.app的无效操作,针对www.sub.mydomain.com设置正确的DNS记录:- 若指向服务器IP:添加A记录,主机记录填
www.sub,值填写对应服务器的公网IP地址 - 若指向
sub.mydomain.com:添加CNAME记录,主机记录填www.sub,值填写sub.mydomain.com
配置完成后,等待DNS生效(时长取决于TTL设置,通常10分钟到几小时),可以通过nslookup www.sub.mydomain.com或dig www.sub.mydomain.com命令验证解析是否正确。
- 若指向服务器IP:添加A记录,主机记录填
修复SSL证书不匹配问题
浏览器报错的核心原因是当前服务器使用的证书不包含www.sub.mydomain.com域名:- 如果你用的是单域名证书:需要重新申请包含
www.sub.mydomain.com的证书,或者直接申请通配符证书*.sub.mydomain.com(可覆盖所有sub.mydomain.com的子域名) - 如果你已有
*.mydomain.com通配符证书:注意这种证书只能覆盖一级子域名(比如sub.mydomain.com),无法覆盖二级子域名(www.sub.mydomain.com),需要单独为www.sub.mydomain.com申请证书,或者更换为支持多级通配的*.*.mydomain.com证书(部分证书颁发机构支持)
新证书申请完成后,部署到你的web服务器(如Nginx、Apache),重启服务确保证书生效。
- 如果你用的是单域名证书:需要重新申请包含
验证最终配置
DNS和证书都配置完成后,清除浏览器缓存或使用隐私窗口访问www.sub.mydomain.com测试;也可以用openssl s_client -connect www.sub.mydomain.com:443命令查看证书详情,确认证书的Subject Alternative Names(SAN)字段中包含www.sub.mydomain.com。
内容的提问来源于stack exchange,提问作者Max Vallee
相关产品推荐
相关产品推荐

