2020年最新Discuz X3.4 全站设置HTTPS教程
前几天在某个QQ群里看到很多人还不会配置DISCUZ X3.4的SSL服务(HTTPS),一些有偿配置的机构还收费50-100不等~假如您付费解决,遇到骗子,极可能因为2020疫情导致财务不上班可能会导致退款不及时。{:7_171:}
针对此状况特出一个详细的开启网站小绿锁配置教程~
配置环境
①服务器以宝塔面板为例
②SSL证书为阿里云免费证书
③DISCUZ X3.4最新版本
第一部分 SSL证书申请配置请到阿里云官方申请免费SSL证书 链接→免费SSL证书
下一步到阿里云SSL控制面板申请签发你刚申请的域名(签发步骤按阿里云提示操作即可):
下图是已经签发的证书!
宝塔要求的是:Nginx类型证书 我们直接下载对应的格式:
第二部分 宝塔面板的SSL设置
打开需要配置的网站设置把第一部份里面申请到的数字证书导入进去
并开启 强制HTTPS
如下图
第三部分 修改DISCUZ代码实现全站URL小绿锁
解决办法(来自DISCUZ官方解决方案):
查找修改文件 discuz_application.php
找到 source/class/discuz/discuz_application.php (约第187行处)
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
修改为
<blockquote microsoft="" yahei",="" simsun;="" font-size:="" 16px;="" text-align:="" justify;"=""><font face="黑体" color="#F00000">$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;</font>
查找修改文件avatar.php
找到 uc_server/avatar.php (约第13行处)
<blockquote microsoft="" yahei",="" simsun;="" font-size:="" 16px;="" text-align:="" justify;"=""><font face="黑体" color="#F00000">define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));</font>
修改为
define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
查找修改文件admin.php
找到 uc_server/admin.php (约第13行处)
define('UC_API', strtolower((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
修改为
复制<blockquote microsoft="" yahei",="" simsun;="" font-size:="" 16px;="" text-align:="" justify;"=""><font face="黑体" color="#F00000">define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));</font>
修改后台设置
后台 >全局 > 站点 URL,改为HTTPS
后台 > 站长 > UCenter 设置 > UCenter 访问地址,改为HTTPS
UCenter 后台 > 应用管理 > 应用的主 URL,改为HTTPS
动手能力强的做到这一步还应该逐步排查模板、数据库等地方,确保没有HTTP连接。
目录 返回
首页