随着 HTTPS 的逐渐普及,很多浏览器在打开普通的 HTTP 网站时,都会给出安全警告或者不安全提示。为了网站和用户数据传输安全,采用 HTTPS 已势在必行。今天我们介绍下怎样对 Discuz! X3.4 实现全站 HTTPS。
SSL 证书现在选择比较多,可以申请 Symantec 的免费型 DV SSL(在国内云服务提供商网站一般都可以免费申请,如腾讯云、阿里云),有效期是一年,到期前再次申请续期即可。也可以使用 Let's Encrypt 签发的证书,有效期一般是 3 个月,可以实现程序自动续签。要注意一下的是,使用 Let's Encrypt 证书的网站在 360 浏览器中会提示:该网站根证书不在 360 根证书计划内,未来可能不被 360 浏览器信任。由于 360 浏览器在国内还是有一定份额的,建议根据实际情况选择。
申请到 SSL 证书后(一般为两个文件:cert.pem 和 cert.key),添加到站点配置文件中即可。以 Nginx 为例:
server
{
listen 80;
server_name bbs.ilaoniu.cn;
return 302 https://$server_name$request_uri;
}
server
{
listen 443 ssl http2;
server_name bbs.ilaoniu.cn;
index index.html index.htm index.php default.html default.htm default.php;
.
.
.
ssl_certificate /usr/local/nginx/cert/bbs.ilaoniu.cn/cert.pem;
ssl_certificate_key /usr/local/nginx/cert/bbs.ilaoniu.cn/cert.key;
.
.
.
}
上述配置文件中,我们将 HTTP 请求重定向到 HTTPS,建议使用 302 跳转。然后监听 443 端口,指定 SSL 证书路径。
Discuz! X3.4 最新版很多地方对 HTTPS 进行了兼容处理,配置 HTTPS 访问只需要简单几步就可以完成。
位置:管理后台 > 全局 > 站点信息
网站 URL 使用 HTTPS:
位置:管理后台 > 站长 > UCenter 设置
UCenter 访问地址也修改为 HTTPS:
建议一并把最底下的 头像调用方式
修改为 使用静态地址调用头像
。
位置:管理后台 > UCenter > 应用管理
将 Discuz! 对应的主应用 URL 修改为 HTTPS:
修改完之后,刷新缓存。
在 管理后台 > 界面 > 风格管理
页面更新 CSS 缓存,在 管理后台 > 工具 > 更新缓存
页面中更新缓存。
到这里就大功告成了!
参考资料: