discuz X2.0、2.5、3.0、3.2、3.3、3.4全站开启https教程

[复制链接]
查看: 391|回复: 11
发表于 2018-3-13 22:00:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
目前各位站长使用最多的discuz版本应该是x3.2,部分建站较早的网站可能仍在使用X2.5的版本,还有部分追求新版的站长在使用X.3.3的版本。不过总的来说,X3.2是discuz官方发布的最后一版,也是目前为止功能最全最稳定的一个版本。
discuz各个版本其实都对https有一定的支持,不过都不是很完善,不管哪个版本仍然需要通过修改disucz的源文件来实现对https的完美支持。
下面我就不同版本来给大家讲解下如何修改源文件来支持https。
discuz X2.0
x2.0的版本用的人不多了,但我这里还是提供一份X2.0的https改造教程:https://www.aitiancheng.com/article-550.html
discuz X2.5:
X2.5的版本比较老旧了。不过经过我的研究,已经写出了X2.5的https改造教程:https://www.aitiancheng.com/article-720.html
discuz X3.0:
X3.0的版本比X2.5较新,可以按照X3.2的修改方式来进行discuz的https改造。
discuz X3.2:
我的所有教程,大部分是针对X3.2进行撰写的,所以在X3.2的https改造上教程已经非常完美了。
discuz X3.2开启支持https主要需要修改一下几个地方:
1、查找修改文件discuz_application.php
2、查找修改文件avatar.php
具体的修改教程可以看这里:http://www.aitiancheng.com/article-291.html
discuz X3.3:
X3.3版本是目前discuz名义上的最新版本,X3.3对比X3.2的升级主要体现在对php7.0的支持上,同时对https的支持会比X3.2要好一点。
但是,如果我还是不建议各位站长盲目升级到X3.3,特别是已经稳定运营的站点。
discuz X3.3开启https的方法比较简单:
1、查找修改文件discuz_application.php :
将第187行修改为:
$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
删除第188行,
将第189行修改为:
$_G['siteurl'] = dhtmlspecialchars('http'.($_G['isHTTPS'] ? 's' : '').'://'.$_SERVER['HTTP_HOST'].$sitepath.'/');
2、查找修改文件avatar.php

uc_server/avatar.php (约第 13 行处)查找:
define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
修改为:
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'], '/'))));
我的考虑主要是以下几个方面:
1.X3.3每个月都有迭代新版本发布,如果你是想认真做网站,特别是稳定运营的网站,不建议盲目追新版。因做网站第一要求是稳定。
2.X3.3的主要改进是在对php7.0的支持上。升级php版本到7.0后,确实会使网站运行加快一点,但是目前discuz应用中心现有的插件和模板能够完美兼容的少之又少。所以,盲目升级到X3.3版本如果出现插件不兼容无法使用,模板错位等bug,得不偿失啊。


discuz X3.4:
X3.4对https支持比较友好了,可以先在服务器上开启https然后看支持的效果好不好,如果不好,按照3.3的教程修改即可。
二、开启https后的问题处理:
1,ucenter通信失败的问题:
DISCUZ 开启https后ucenter通信失败解决方法,一般是做完301重定向https后通信失败的,下面是具体解决方法:
打开目录 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);
}
2,应用中心无法访问的问题:
前面我们有教程讲到如何为discuz开启https访问,但是有部分站长反应说,在discuz后台无法打开直接打开dz应用中心。
那么究竟是什么原因呢。
问题分析:主要是在https模式下,是不允许使用框架来加载http的网页。所以导致在后台使用https时,是无法直接打开应用中心的。
解决办法:直接在浏览器新窗口打开discuz应用中心,登录应用中心账号,安装应用即可
3,百度联盟广告无法展示的问题:
前面我们讲到discuz实现完美开启https后,解决了页面上的不安全因素。
但是在最重要的一点上,百度联盟的广告没法显示了,这可不能忍,直接影响到了我们站的收入了。
那么,这个问题应该如何如何解决呢?
解决办法如下:
我们只需将百度联盟的广告代码中的http改为https即可。
修改后,百度联盟的广告在http和https模式均可正常显示。
4,页面排版混乱的问题:
discuz网站、论坛开启https后,出现页面模板错位,要如何解决
分类:discuz教程  2017-04-25         0 评论  3,708 查看  0 点赞

我们在前面的教程中讲到如何开启discuzhttps访问。
但是,有时会出现下图这样的情况,网站页面排版混乱,感觉像乱码了一样。

导致这一问题的原因分析:我们可以在谷歌浏览器下使用F12调试看下网页加载情况,你会发现css样式文件被浏览器禁止加载了。再看css文件的链接地址,都是以http形式开头的。
问题原因找到了:css样式默认加载了http模式下的缓存样式。
这个时候我们应该怎么办呢:https模式下进入discuz后台,更新网站缓存。
这里会存在一些问题:如果你是同时开启http(80端口)、https(443端口),那么出现CSS文件被屏蔽是会经常出现的。
要怎么一劳永逸的解决这个问题呢?
就要用到301跳转了,在nginx配置文件中将http请求强制301跳转到https。
这样一跳转,所有的CSS样式均会在https模式下了。
也就不会再出现网页排版混乱的情况了。
5,浏览器提示不安全的问题:
开启https后,网站还是被谷歌浏览器、火狐浏览器提示不安全,此时我们应该怎么解决呢?
接下来我们开始问题排查:

1、页面中包含有http链接:这些链接主要可能在css文件和部分外链图片。
解决办法:https模式下进入discuz后台更新缓存即可解决css的问题。至于外链图片,一一排查模板、diy模块中是否有http链接,然后尝试替换为https链接即可。

2、discuz的SSL证书不正确
这个原因主要是配置了错误的SSL证书导致的。SSL证书要求和当前使用域名匹配。检查下nginx配置文件conf看下是否加载了错误的SSL证书。


发表于 2018-6-1 10:13:34 | 显示全部楼层
额,看不懂在说神马~@_@
回复

使用道具 举报

发表于 2018-6-10 03:24:23 | 显示全部楼层
珍惜生命,果断回帖。
回复

使用道具 举报

发表于 2018-6-20 23:56:50 | 显示全部楼层
我只是路过打酱油的
回复

使用道具 举报

发表于 2018-6-21 11:01:13 | 显示全部楼层
回的人少,我来小顶一下
回复

使用道具 举报

发表于 2019-1-31 16:56:41 | 显示全部楼层
回的人少,我来小顶一下
回复

使用道具 举报

发表于 2019-2-1 02:35:00 | 显示全部楼层
正需要,支持楼主大人了!
回复

使用道具 举报

发表于 2019-2-6 19:05:05 | 显示全部楼层
么有分,谁能送我点积分啊::>_<::
回复

使用道具 举报

发表于 2019-2-15 09:58:11 | 显示全部楼层
珍惜生命,果断回帖。
回复

使用道具 举报

发表于 2019-2-20 20:39:06 | 显示全部楼层
我只是路过打酱油的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接
 
 
工作时间:
8:00-18:00
客服热线:
15368564009
客服微信