首页 » 灰常折腾 » 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. 回复

    DZ最新版本那天无聊的时候安装了的,感觉变化没多大,就删除了!

    1. 回复

      @小斌博客 对,新版没什么变化,只是安全更新了,这下DZ应该是沉睡了……

  2. 回复

    Discuz一步步衰败了,不过依然是论坛程序老大哥。这些年实在没出现什么好些的程序

    1. 回复

      @c 被收购注定是衰败!国内用DZ还是多一点。

  3. 回复

    我的SSL还是客服帮忙安装的呢。

    1. 回复

      @黑火药 :smile: 服务周到,其实自己动手更好点,可以完全掌握了解是怎么回事。

  4. 回复

    论坛个人觉得没有特别大流量话做论坛十分乏力,论坛适合做大型的互动站点。然而我这种发发文章的,还是做做blog吧!

    1. 回复

      @胡俊杰 是的,没人气就做不起论坛,论坛只是挂在我这里的,我只管维护,其他的不是我的事。

  5. 回复

    地址在哪里,我要去围观…

  6. 回复

    现在貌似不上绿锁就感觉太low了,虽然我还是没有弄哈哈

    1. 回复

      @楚狂人 是的,DVBBS现在使用的也很多,闲逛了下,发现很多还在用老BBS系统。

回复

Title - Artist
0:00