首页 » 灰常折腾 » DISCUZ开启SSL

DISCUZ开启SSL

这两天换上了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

91 评论
  1. 回复

    是啊,弄的论坛~都没人注册搞不起来了。ε=(´ο`*)))唉

  2. 回复

    你还有discuz呢,论坛发出来瞧瞧啊

  3. 回复

    你这个网站放在什么服务器上的?ping值好低啊(平均42ms)。

    1. 回复

      @陈大猫 服务器在安畅香港机房,香港速度有时候也是稍慢一点。

    1. 回复

      @胡说胡记 我访问你的也慢 :lol: ,看来还是需要去除没用的东西。让速度上来!

    1. 回复

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

  4. 回复

    玩博客之后,很久没玩论坛和CMS了,没反应过来 DISCUZ 是什么东东 呵呵 ~!

  5. 回复

    这是论坛程序吧,现在论坛不多了啊!

    1. 回复

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

回复