宝塔面板怎么申请了SSL证书,网站还是提示不安全?

我在腾讯云轻量服务器上装了宝塔面板,用一键部署搭了个WordPress站。按教程在面板里申请了Let's Encrypt证书并开启了强制HTTPS,可浏览器地址栏还是显示“不安全”,点开提示是混合内容。面板里看证书状态又是正常的,不知道是证书没真正生效,还是页面里混了http资源。想问问大家都是怎么一步步排查的,有没有什么快速定位的办法?
请先 登录 后评论

1 个回答

千山暮雪

先看浏览器地址栏到底是 https 还是 http。如果还是 http,那是强制跳转没生效,先查宝塔站点配置、CDN、缓存。如果已经是 https 但显示“不安全”,点开锁图标看提示,你这种明确说“混合内容”的,证书其实已经生效了,问题出在页面里还在加载 http 资源。

最快的排查办法就是 F12:

  • 打开 Console,搜 Mixed Content,报错里会直接把 http 的图片、js、css 列出来。
  • 切到 Network,刷新页面,按 Protocol 排序,或者直接筛 http://,一眼就能看到哪些资源不是 https。

最常见的几个坑:

  1. WordPress 后台地址还是 http。设置 → 常规,把“WordPress 地址”和“站点地址”都改成 https。
  2. 数据库里存的是 http 链接。用 Better Search Replace 插件,把 http://你的域名 批量替换成 https://你的域名,别乱替换外站链接。
  3. 主题或插件写死了 http,比如背景图、字体、Google Fonts、外链图片。这种只能挨个改,或者找插件设置里换掉。
  4. CDN 没配证书。如果你套了腾讯云 CDN 或其他 CDN,源站证书归源站,CDN 那边也要上传证书,回源协议也得是 HTTPS。
  5. 缓存没清。WP 缓存插件、Redis、宝塔 nginx 缓存、CDN、浏览器无痕,全都过一遍。

宝塔面板里证书状态正常,只能说明证书文件没问题,不代表页面资源全走 https。你可以在宝塔站点配置文件里临时加一句 add_header Content-Security-Policy upgrade-insecure-requests; 先兜底,但根治还是得把 http 资源揪出来改掉。另外顺手确认下证书域名带不带 www 是否匹配,443 端口安全组有没有开,Let's Encrypt 续签任务有没有正常跑。

请先 登录 后评论
  • 0 关注
  • 0 收藏,3 浏览
  • 抹茶奶绿 提出于 13 小时前

相似问题