
证书装好后仍然会出现混合内容的警告,一般是因为跳转层级和资源地址没有理顺。浏览器会在控制台里列出被拦截的地址,从这里开始排查。
跳转配置在入口层。由反向代理统一处理,http 请求返回 301 指向 https,比在应用层判断更省资源;跳转链只保留一跳,先跳带 www 再跳 https 的多级配置要合并,否则每次访问都要走两趟。启用严格传输安全策略,初始有效期设置较短,观察没有异常情况之后再延长。
资源地址要逐个进行替换。页面源码里写死的http链接是最常见的来源,分布在主题模板、文章正文以及数据库字段中;后台地址配置、站点地图和标准链接也要进行检查。数据库中的地址统一采用批量搜索替换的方式进行修改,在操作之前要先备份。
外部依赖单独检查。第三方脚本、字体和图像如果只提供了明文协议的话,那么就需要换成支持加密访问的来源,或者在加载失败的时候准备一个回退样式。
缓存和CDN最后同步。边缘节点缓存的旧版页面仍然带有http引用时,警告就会一直出现,处理完之后清除整个网站的缓存。