将自定义域名从Azure App Service迁移至Static Web App遇证书问题
解决Azure Static Web App自定义域名证书错误问题
核心原因分析
出现ERR_CERT_COMMON_NAME_INVALID且证书显示为*.azurewebsites.net,大概率是以下几种情况:
- DNS解析未完全生效,请求仍指向旧的Azure App Service服务器
- Static Web App的自定义域名验证未完成,导致自动SSL证书未生成/绑定
- 本地或网络DNS缓存未刷新,仍保留旧的解析记录
具体解决步骤
确认DNS解析正确性
- 在终端执行
nslookup clients.company.com或dig clients.company.com,检查返回的目标地址是否对应你的Static Web App默认域名(gentle-fox-039244h02.5.azurestaticapps.net)。 - 如果返回旧App Service的地址,说明DNS记录未更新:
- 登录域名服务商后台,确保子域名
clients的CNAME记录已修改为指向Static Web App的默认域名,删除所有指向旧App Service的A/CNAME记录。 - 等待DNS TTL过期(通常数小时到24小时,可手动设置TTL缩短生效时间)。
- 登录域名服务商后台,确保子域名
- 在终端执行
检查Static Web App域名状态
- 登录Azure门户,进入
company-clients-staticStatic Web App,导航到「自定义域名」页面:- 若
clients.company.com状态为「验证中」,耐心等待验证完成(通常1-2小时,特殊情况可能更久),验证通过后Azure会自动生成并绑定对应SSL证书。 - 若状态为「验证失败」,检查DNS验证记录是否正确配置:Static Web App添加域名时会给出需要设置的TXT/CNAME验证记录,确保这些记录已在域名服务商处正确添加。
- 若
- 登录Azure门户,进入
清除本地缓存
- 刷新本地DNS缓存:
- Windows:执行
ipconfig /flushdns - macOS:执行
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- Windows:执行
- 强制刷新浏览器缓存(按
Ctrl+Shift+R或Cmd+Shift+R),或在浏览器设置的「安全」选项中清除SSL证书缓存。
- 刷新本地DNS缓存:
验证证书状态
- 用终端命令
curl -v https://clients.company.com查看返回的证书信息,确认是否已切换为Static Web App颁发的证书(应包含clients.company.com或*.azurestaticapps.net)。 - 若仍显示旧证书,可等待24小时让Azure的证书颁发流程完全生效,期间确保域名绑定状态正常。
- 用终端命令
额外注意点
旧的Azure App Service即使已停止,仍会响应HTTPS请求并返回其通配符证书,所以必须确保DNS完全切换到Static Web App,否则请求会被路由到旧服务,导致证书错误。
内容的提问来源于stack exchange,提问作者VSuser
相关产品推荐
相关产品推荐

