首先获取并安装SSL证书,推荐使用Let’s Encrypt免费证书或商业证书;接着配置Nginx服务器,启用443端口和SSL参数,并重启服务;然后修改Discuz的config_global.php文件,开启HTTPS支持并添加代理识别代码;登录后台将站点URL改为HTTPS,同步更新UCenter应用通信地址;最后通过Nginx配置80端口重定向至HTTPS,确保全站安全访问。

Discuz开启HTTPS并安装SSL证书,主要涉及服务器SSL配置和论坛程序设置两部分。只要你的服务器支持SSL(如Nginx或Apache),操作并不复杂。
1. 获取并安装SSL证书
你需要先为你的域名申请SSL证书。常见方式有:
Nginx服务器配置示例:
server {listen 443 ssl;
server_name www.yourdomain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /home/wwwroot/discuz;
index index.php index.html;
# 其他PHP和伪静态配置...
}
配置完成后重启Nginx服务:
systemctl restart nginx2. 修改Discuz配置文件支持HTTPS
仅服务器开启HTTPS还不够,Discuz需要识别当前是安全连接,否则可能出现跳转回HTTP或资源加载失败。
编辑配置文件:config/config_global.php
$_config['https']['enable'] = 1; // 启用HTTPS支持如果你使用CDN或反向代理,可能还需要在文件顶部添加以下代码,确保Discuz正确识别HTTPS:
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
}
3. 后台设置站点URL为HTTPS
登录Discuz后台 → 全局 → 站点信息 → 网站URL,将地址改为https://www.yourdomain.com
同时检查以下位置是否使用了绝对路径的HTTP链接:
-
• 论坛LOGO、广告位、自定义HTML代码• 插件或模板中的外链资源• UCenter设置中的应用URL(必须同步改为HTTPS)
UCenter修改方法:进入UCenter后台 → 应用管理 → 编辑应用 → 通信URL改为HTTPS地址。
4. 强制全站HTTPS(可选)
为了安全,建议将HTTP访问自动跳转到HTTPS。Nginx配置如下:
server {listen 80;
server_name www.yourdomain.com;
return 301 https://$host$request_uri;
}
完成以上步骤后,访问你的论坛,浏览器地址栏应显示小锁标志,表示HTTPS已生效。
基本上就这些,关键点在于服务器证书配置、Discuz启用HTTPS开关、UCenter同步更新和清理HTTP硬编码链接。不复杂但容易忽略细节。










