赞片CMShttps设置
照着做完,你的赞片CMS整站就能从 http 平滑切到 https,不再弹「不安全」提示,也不出现播放器、封面、采集接口被浏览器拦截的问题。
第一步:给域名装好 SSL 证书,先让服务器本身支持 https
这一步的目标是:用浏览器访问 https://你的域名 时,地址栏出现小锁图标。CMS 后台设置得再对,证书没装也是白搭。
如果你用的是宝塔面板(7.x/8.x 都一样):进入 网站 → 找到你的站点 → 设置 → SSL → Let's Encrypt,勾选你的域名(带 www 和不带的都勾上),点「申请」。几十秒后证书状态会变成「剩余 XX 天」。
如果用的是自己的商业证书,在同一页选「其他证书」,把证书内容(.pem/.crt)粘进「证书(PEM格式)」,私钥(.key)粘进「私钥(PEM格式)」,点保存。
保存后宝塔会自动改写 Nginx 配置:80 端口的 server 块里会出现 return 301 https://$host$request_uri;,443 端口块里出现 ssl_certificate 和 ssl_certificate_key 两行。想手动确认,点 设置 → 配置文件 就能看到。
注意:申请 Let's Encrypt 之前,域名必须已经解析到这台服务器,并且 80 端口处于可访问状态,否则校验会失败报「域名验证错误」。如果服务器前面挂了 CDN,先在 CDN 那边开启 80 端口回源。
第二步:在赞片CMS后台把站点地址改成 https
证书装好后,去后台改配置,否则模板输出的还是 http 链接。
登录后台,进 系统 → 网站设置(部分版本叫「基本设置」或「系统配置」),找到:
- 网站域名 / 站点地址 / 网站URL:改成
https://你的域名(结尾不要带斜杠) - 静态资源域名 / CDN 域名(如果有这一项):同样换成 https 开头
保存后,前台刷新一次,右键「查看网页源代码」,搜一下 http://你的域名,如果还有大量残留,说明模板或数据库里写死了 http,继续第三步。
注意:赞片CMS各版本的后台菜单名称不完全一致,认准「域名」「站点地址」这两个关键词去找就行。
第三步:批量替换数据库和模板里写死的 http 链接
这一步解决的是历史遗留的硬编码链接。
数据库部分:用 phpMyAdmin 或 Navicat 连上数据库,先执行一次备份(导出 SQL),再跑下面的语句。表前缀以 config/database.php 里的 prefix 为准,赞片CMS常见是 zp_:
UPDATE zp_config SET value = REPLACE(value, 'http://你的域名', 'https://你的域名') WHERE value LIKE '%http://你的域名%';
如果文章、视频内容表里也有富文本链接,同样对 zp_article、zp_vod 这类表跑一遍 REPLACE。
模板部分:用 VSCode 或 Notepad++ 打开网站根目录下的 template/ 文件夹,全局搜索 http://你的域名,逐个替换成 https。通常集中在 template/你的模板名/home/ 里的 header、footer 文件。
注意:执行 UPDATE 之前必须备份数据库,REPLACE 一旦跑错没法撤销。另外 MySQL 的 REPLACE 区分大小写,
HTTP://大写形式要单独再跑一次。
第四步:修播放器和采集接口的地址
混合内容警告十有八九出在这两块。
播放器:后台进 系统 → 播放器设置(或「播放器管理」),逐个检查播放器代码里的 JS 地址。像 http://cdn.xxx.com/ckplayer/ckplayer.js、http://xxx.com/dplayer.min.js 这类,能换 https 就换;找不到 https 源,就把文件下载到自己服务器,改成相对路径或你自己的 https 地址。
采集:进 采集 → 采集资源库/采集站管理,把资源站接口地址里的 http 改成 https。但前提是对方站支持 https,如果不支持,强行改会直接采集失败,这种情况保持 http 即可(服务器端采集不受浏览器混合内容限制)。
注意:判断对方支不支持 https,直接在浏览器地址栏把接口域名前面加个 s 访问一下,能打开且不报证书错误才算支持。
第五步:验证有没有漏网的混合内容
按 F12 打开开发者工具,切到 Console 面板,刷新页面,看有没有黄色的 Mixed Content 警告;再切到 Network 面板,在筛选框里输入 http://,凡是列出来的请求都是漏网的。
也可以把域名丢到 whynopadlock.com 做一次完整检测。
小结
- 顺序不能反:先装证书让服务器支持 https,再改后台域名,最后清模板和数据库。
- 数据库替换前必须备份,注意表前缀和大写
HTTP://。 - 播放器 JS 是混合内容的重灾区,优先用本地或 https 的 CDN 地址。
- 采集接口只有在对方支持 https 时才改,不支持就维持原样。
- 收尾用 F12 的 Console + Network 筛
http://确认干净。
原文链接:https://www.gj0.com/thread-1240.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。