ZBlogCMS 如何开启网站 HTTPS 证书

liulian
liulian 初级会员超兽战士
发布于 2026-10-08 06:46 ·1 浏览 ·0 回复

照着做完,你的 ZBlog 站点就能用 https:// 正常打开,并且所有 http 访问都会自动跳到 https,浏览器地址栏出现小锁图标。

第一步:准备证书文件

这一步要拿到两张证书文件:一张公钥(.pem 或 .crt)、一张私钥(.key),拿到后上传到服务器上固定目录,后面配置时要用路径引用它们。

如果你用宝塔面板,最省事:登录宝塔 → 左侧「网站」→ 找到你的站点点「设置」→ 顶部切到「SSL」标签 → 选「Let's Encrypt」→ 勾选你的域名 → 点「申请」。申请成功后证书会自动放到 /www/server/panel/vhost/cert/你的域名/ 目录下,文件名是 fullchain.pem 和 privkey.pem。

如果你用阿里云、腾讯云买的免费证书,下载得到的压缩包里选「Nginx」格式,解压出 .pem 和 .key 两个文件,用 FTP 或宝塔文件管理器上传到 /www/server/panel/vhost/cert/你的域名/。

注意:私钥文件(.key)绝对不能放在网站根目录 /www/wwwroot/ 下面,否则别人能直接下载走,证书就白申请了。

第二步:修改 Web 服务器配置,让 443 端口能跑起来

这一步是让服务器开始监听 443 端口。做完后,直接输入 https://你的域名 就能打开页面。

宝塔用户在上一步点完「申请」后,SSL 页面会自动写好配置,你只要把「强制 HTTPS」开关打开就行,这一步可以跳过。

手动配置 Nginx 的话,编辑站点配置文件(宝塔路径是 /www/server/panel/vhost/nginx/你的域名.conf),内容改成:

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate     /www/server/panel/vhost/cert/example.com/fullchain.pem;
    ssl_certificate_key /www/server/panel/vhost/cert/example.com/privkey.pem;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;

    root  /www/wwwroot/example.com;
    index index.php index.html;

    location ~ \.php$ {
        fastcgi_pass  unix:/tmp/php-cgi-74.sock;
        fastcgi_index index.php;
        include       fastcgi.conf;
    }
}

server {
    listen 80;
    server_name www.example.com;
    return 301 https://$host$request_uri;
}

第二段 server 就是强制跳转,return 301 会把所有 http 请求永久重定向到 https。

改完执行 nginx -t 检查语法,出现 syntax is ok 和 test is successful 再执行 nginx -s reload 重载。

注意:fastcgi_pass 的 sock 路径要和你原来配置里的保持一致,不同 PHP 版本路径不同(如 php-cgi-74.sock 对应 PHP 7.4)。直接照抄容易导致 502 错误,建议先备份原文件再改。

第三步:把 ZBlog 的站点地址改成 https

这一步是告诉 ZBlog「我的网站现在叫 https 了」,否则页面里的链接、图片、CSS 还会指回 http,导致样式错乱或浏览器报「混合内容」警告。

登录 ZBlog 后台(默认地址 /zb_system/login.php),进入「网站设置」→「全局设置」,找到「网站地址」这一项,把原来的 http://www.example.com 改成 https://www.example.com,注意末尾不要加斜杠。保存。

如果后台已经因为 https 配置打不开了,可以直接改数据库:用 phpMyAdmin 打开你的 ZBlog 数据库,找到 zbp_config 表,搜索 conf_Name 为 ZC_BLOG_HOST 的那一行,把 conf_Value 改成 https://www.example.com。

注意:改之前先备份数据库,改错了整站链接都会指向错误地址,恢复起来很麻烦。

第四步:清空缓存,消除混合内容

这一步做完,前台所有资源才会真正走 https,浏览器地址栏的小锁才不会带感叹号。

后台进入「清空缓存并重新编译模板」,点一下。然后打开网站首页,按 F12 打开开发者工具,切到 Console 面板,如果还有黄色的 Mixed Content 警告,说明某张图片或某个 JS 还是 http 地址,多半写在了文章正文里或主题模板里,逐个改成 https 即可。

第五步(可选):开启 HSTS

想让浏览器以后永远只用 https 访问,可以在 443 的 server 段里加一行:

add_header Strict-Transport-Security "max-age=31536000" always;

注意:HSTS 一旦生效,在 max-age 时间内浏览器会拒绝 http 访问。如果证书没配好就先别开,否则自己也进不去后台,只能等时间过期或换域名。

小结

  • 证书文件放 /www/server/panel/vhost/cert/,私钥不能进网站根目录
  • 443 端口配置 + 80 端口 301 跳转,是两段独立的 server 块
  • ZBlog 后台「网站设置 → 全局设置」里的网站地址必须同步改成 https
  • 改完记得清空缓存,用 F12 检查混合内容
  • HSTS 建议最后再开,确认一切正常后再加
版权声明:本文来自 GJ站长论坛《ZBlogCMS 如何开启网站 HTTPS 证书》
原文链接:https://www.gj0.com/thread-798.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~