赞片CMShttps报错

chinaz
chinaz 初级会员超兽战士
发布于 2026-10-08 21:55 ·1 浏览 ·0 回复

按本文的顺序排查一遍,你能自己定位赞片CMS在开启 HTTPS 后出现的绝大多数报错:白屏、重定向循环、图片播放器不显示、后台登录失败。

赞片CMS本身对 HTTPS 没有特殊限制,报错基本都来自三处:服务器/证书层、后台域名配置层、页面里的写死 http 链接。下面按「从外到内」的顺序来,前一步没排除就不要跳到下一步。

第一步:先确认报错到底属于哪一类

这一步的目标是把笼统的「HTTPS 报错」缩小到具体错误码,拿到结果再决定后面查哪一步。

打开 Chrome 或 Edge,按 F12 打开开发者工具:

  • Console(控制台)面板 → 看有没有 Mixed Content 字样,有就是混合内容问题
  • Network(网络)面板 → 刷新页面,看状态码是 301/302 反复跳、还是 502/504
  • 在地址栏点小锁图标 → 选「连接是安全的」→「证书有效」,看证书绑定的域名对不对

同时在服务器上跑一条命令,直接看响应头:

curl -I https://你的域名

如果上面报 ERR_TOO_MANY_REDIRECTS、ERR_SSL_PROTOCOL_ERROR、NET::ERR_CERT_COMMON_NAME_INVALID,分别对应重定向循环、SSL 协议错误、证书域名不匹配,三种原因完全不同。

注意:不要一上来就去找 CMS 后台设置。证书和重定向问题改后台是改不好的,浪费时间。

第二步:解决重定向循环(最常见)

这一步要断开「http 跳 https、上游又说自己是 http」的死循环,做完页面能正常打开。

原因通常是套了 CDN(如 Cloudflare)或 Nginx 反向代理,源站以为自己是 http,又一次次把请求跳回 https。处理方式:

如果用了 Cloudflare,进入 Cloudflare 后台 → 选择域名 → SSL/TLS → Overview → 加密模式选 Full (strict),不要选 Flexible。

如果是 Nginx 反向代理,在站点的 server 配置里补上这两行,然后 nginx -t 检查、nginx -s reload 重载:

location / {
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:8080;
}

如果赞片CMS跑在 PHP-FPM 上,还要确保 FastCGI 段落里有:

fastcgi_param HTTPS on;

注意:改完配置必须 nginx -t 通过再 reload,语法错误会让整站 502。

第三步:把后台里的网站域名改成 https

这一步解决「前台 https、后台生成出来的链接还是 http」的问题。

登录赞片CMS后台 → 左侧菜单 系统 → 网站设置(部分版本叫「基本设置」)→ 找到 网站域名 / 站点地址 一栏,改成 https://你的域名。

注意:结尾不要加斜杠,写成 https://abc.com/ 会让部分模板生成出 // 双斜杠路径,导致资源 404。

如果后台已经进不去(登录后跳回登录页或白屏),直接改数据库。用 phpMyAdmin 或 Navicat 连上库,找到配置表(赞片CMS基于苹果CMS内核,表前缀常见为 mac_ 或 zp_,以你安装时设的为准),执行:

UPDATE mac_config SET value = REPLACE(value, 'http://你的域名', 'https://你的域名');

执行前先导出备份这张表。

第四步:清理混合内容(图片、播放器不显示就是它)

这一步把页面里残留的 http 资源请求全部换成 https,做完浏览器小锁不再显示警告。

在数据库里对内容表做一次全局替换(同样先备份):

UPDATE mac_vod SET vod_pic = REPLACE(vod_pic, 'http://', 'https://');

再检查模板目录里有没有写死的 http 地址,常见于播放器 JS、统计代码、CDN 静态资源引用。搜索模板目录:

grep -rn "http://" /www/wwwroot/你的站点/template/ | grep -v "https://"

把外部资源(播放器、图床、统计)的 http:// 改成 // 开头的协议相对写法,比如 //cdn.example.com/player.js,这样 http 和 https 环境都能用。

注意:采集来的资源地址如果是对方站点的 http 链接,你改成 https 反而可能 404。这类资源建议保留原样,或者在播放器解析接口里做转发。

第五步:清缓存后再验证

这一步确保你看到的是新配置生效后的结果,而不是旧缓存。

按顺序清:赞片CMS后台 → 系统 → 缓存管理 → 清除全部缓存;服务器上删除站点的 runtime 目录下的缓存文件;如果套了 CDN,在 CDN 后台执行「清除全部缓存」。

然后无痕窗口打开首页、列表页、播放页各一个,看 Console 是否还有红色报错。

小结

  • 先看错误码再动手,重定向循环、证书错误、混合内容三类问题的解法完全不同。
  • 重定向循环优先查 CDN 的 SSL 模式和 Nginx 的 X-Forwarded-Proto、fastcgi_param HTTPS on。
  • 后台「网站设置」里的域名必须写成 https://域名,结尾不加斜杠。
  • 图片、播放器等混合内容靠数据库 REPLACE 加模板文件搜索替换来清。
  • 每次改完数据库或配置都要清缓存,并用无痕窗口验证。
版权声明:本文来自 GJ站长论坛《赞片CMShttps报错》
原文链接:https://www.gj0.com/thread-1212.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~