DISCUZ开启SSL

Auth:大灰       Date:2017/11/28       Cat:灰常折腾       Word:共1277字

这两天换上了16年买的三年COMODO证书,感觉也没那么慢,对搜索引擎应该很好吧。

今天试着折腾了一下DISCUZ全站SSL,还是蛮顺利,虽然DISCUZ已经没落,但是使用的人还是依然多啊!

闲话少说,直接上内容。

折腾DISCUZ3.4,听说X3.4对https支持比较友好。

1、 首先申请LetsEncrypt 免费 SSL,主机面板一键解决,现在的主机几乎都支持。

2、后台 >全局 > 站点URL,改为https

后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https

UCenter后台 > 应用管理 > 应用的主URL,修改为https

3、设置301,设置跳转到HTTPS地址

3、更新缓存

4、ucenter通信失败解决方法 打开目录 uc_server/model/misc.php 文件 找到68行,在其下插入下面代码:

 if(substr($url,0,5)=='https'){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if($post){ curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } if($cookie){ curl_setopt($ch, CURLOPT_COOKIE, $cookie); } curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); return curl_exec($ch); }

后台?站长UCenter设置通信密钥和UCenter应用管理的通信密钥需要一致,否则通信会失败。 UCenter 访问地址也需要改为新的地址。

5、头像修改问题 在discuz目录里找到uc_client/client.php 【1】找到第235行

$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';

在下方添加以下代码

$matches['port'] = !empty($matches['port'])&&$scheme=='https' ? $matches['port'] : 443;

【2】找到261行

if(!$fp = @fsocketopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {

修改为

if($port=='443'){ $temp = 'ssl://'; }else{ $temp = 'http://'; } if(!$fp = @fsocketopen($temp.($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {

打开浏览器,使用开发者工具或者查看源码逐一排查加载的非HTTPS资源并修改。

至此,应该没什么问题了,至于不安全链接,请自己慢慢修改。

引用:https://www.aitiancheng.com/article-707.html

《DISCUZ开启SSL》留言数:91

    1. 灰常记忆-小灰小灰文章作者

      DISCUZ3.4不需要改,只需要安装SSL就可以了,上面引用的几乎没用上,因为我按上面的找到文件,和上面是一样的,当然需要改一点,也不是很麻烦。DISCUZ更新速度是明显下降了。

    1. 灰常记忆-小灰小灰文章作者

      就是BBS,动网是论坛界的霸主那是很久之前的事了,discuz和phpwind是后来路上。但是现在论坛还是依然在,只不过没以前那么活跃了。

发表留言