马上注册,自学更多教程,下载更多资源。

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

x
222.jpg
     DiscuzX3.2系统已经对https做了优化,但是还有很多地方需要我们手动修改一下的,Discuz目前可以完美支持https并显示绿色https图标,不过有些麻烦,且每个环境都会出现自己的问题。


第一步:
全局 > 站点信息 > 网站 URL,修改为https://www.webzx.net/的格式


第二步:修成Discuz适配https
如果你的Web服务是Apache,请忽略这一步,Nginx请继续看:
Discuz判断网站是否启动SSL是采用 $_SERVER[‘HTTPS’] 的方式,此方法不支持Nginx(nginx+php-fpm),需要先做一些修改,让Discuz使用 $_SERVER[‘SERVER_PORT’]来判断网站是否启用SSL。
source/class/discuz/discuz_application.php(约第187行处):
查找:
[PHP] 纯文本查看 复制代码
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;


修改为:
[PHP] 纯文本查看 复制代码
$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;


uc_server/avatar.php (约第13行处):
查找:
[PHP] 纯文本查看 复制代码
define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));


修改为:
[PHP] 纯文本查看 复制代码
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'], '/'))));


第三步:Ucenter通信使用https方式
后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的
UCenter后台 > 应用管理 > 应用的主URL,修改为https开头。



修改后可能会显示通讯失败,如果 UC 和论坛程序安装在同一机器,此失败可无视,实测可以和 UC 正常通讯不影响(测试是否正常通讯程序的 Bug ),如果 UC 和论坛程序不在一台机器上,有可能不能通讯。
另外在 后台 > 全局 > 域名设置 中的一些设置也可能使 https 失效,如果更新缓存后论坛默认连接还是 HTTP ,请删除 后台 > 全局 > 域名设置 > 应用域名 > 默认 里面的默认域名(一般去 forum.php 尾巴这里会有内容,为了 HTTPS 请删除)。

第四步:解决浏览器提示“加载不安全的脚本”
这个提示是因为这个脚本使用http方式加载的原因:
[HTML] 纯文本查看 复制代码
<script src=”[url=http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1]http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1[/url]″ type=”text/javascript” charset=”UTF-8″></script>
此脚本的功能是检查补丁和安全通知,用处不大,果断删除。
删除方法:编辑模板的footer.htm,在最后找到并删掉:
[PHP] 纯文本查看 复制代码
<!–{eval output();}–>
第五步:模板的调整
主要在模板的 foot.html 以及 header.html 等文件中,使用工具逐一排查模板文件中写死的 HTTP 链接,修改为 HTTPS 。   到此,discuz X3.2已经开启支持https了 。
第六步:解决QQ互联的问题
首先升级QQ互联插件,最低版本要求是 1.18.2,如果升级后依然不行,需要修改回调 URL 为非 HTTPS 的:
找到:
source/plugin/qqconnect/connect.class.php 大约41行
在common_base() 函数里面,将 $_G[‘siteurl’] 直接硬编码为 你的http的URL ,首先修改callback_url,如果不行,将所有包含connect.php 的 URL 全部替换。
第七步:将论坛帖子中网站的URL改成https格式的。
会员在发帖的过程中,很可能调用了本站别处的帖子或连接,而这个链接肯定是http的,所以需要将这些链接全部修改成https格式的:
执行SQL语句,可以在DZ后台,或者phpmyadmin中都可以:
[SQL] 纯文本查看 复制代码
UPDATE pre_forum_post SET message=REPLACE(message,’[url=http://旧网址.com/]http://旧网址.com[/url]’,’[url=https://新网址.com/]https://新网址.com[/url]’);
有会员反馈以上SQL升级语句报错:
如果存在该问题则使用以下SQL语句即可:(注意符号标点~)
[SQL] 纯文本查看 复制代码
UPDATE pre_forum_post SET message=REPLACE(message,’[url=http://旧网址.com/]http://旧网址.com[/url]’,’[url=https://新网址.com/]https://新网址.com[/url]’);
最后,Nginx开启强制https跳转,在nginx虚拟主机配置文件中,在Server字段增加:
[Plain Text] 纯文本查看 复制代码
if ($server_port = 80) {

return 301 https://$server_name$request_uri;

}

if ($scheme = http) {

return 301 https://$server_name$request_uri;

}
注意:这里需要根据自己的服务器环境配置,不正确或者有问题的配置可能导致Ucenter通信失败,Apache需要在.htaccess中添加规则。
Apache .htaccess规则:
[Plain Text] 纯文本查看 复制代码
等待添加
修改过后,更新缓存,发现大多数链接都变成了https.

后台设置
1、在后台还有一些设置,可能会干扰https的使用
后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的
UCenter后台 > 应用管理 > 应用的主URL,修改为https开头
另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。
2、清理缓存
设置完成之后,需要清理缓存,使设置生效。
清理缓存及内存缓存,如果设置了帖子缓存,还需清理数据库内的缓存(清空相应cache数据库,或者静等缓存失效)
至此,Discuz https启用成功,当然,在访问某些页面的时候,可能锁会打上叉。因为页面中加载了其他http内容。可能是统计代码、QQ分享代码、QQ秀头像等,这部分服务暂时没有提供https协议,因而无法启用。只能等待Discuz进一步支持https。
到此,你应该可以看到绿色的https标志了。




上一篇:关闭Discuz防水墙不在拖慢网站加载速度
下一篇:在discuz中的&lt;head&gt;&lt;/head&gt;内如何添加代码

云码酷 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与云码酷享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和云码酷的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、云码酷管理员和版主有权不事先通知发贴者而删除本文

回复

使用道具 举报

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

    本版积分规则

    1

    主题

    177

    帖子

    178

    积分

    注册会员

    Rank: 2

    积分
    178
    发表于 2022-5-9 22:24:11 | 显示全部楼层
    沙发
    看帖要回,回帖才健康,在踩踩,楼主辛苦了!
    回复 支持 反对

    使用道具 举报

    3

    主题

    196

    帖子

    199

    积分

    注册会员

    Rank: 2

    积分
    199
    发表于 2022-5-9 22:47:14 | 显示全部楼层
    板凳
    支持云码酷
    回复 支持 反对

    使用道具 举报

    3

    主题

    140

    帖子

    143

    积分

    注册会员

    Rank: 2

    积分
    143
    发表于 2022-5-9 23:04:28 | 显示全部楼层
    地板
    支持云码酷
    回复 支持 反对

    使用道具 举报

    0

    主题

    188

    帖子

    188

    积分

    注册会员

    Rank: 2

    积分
    188
    发表于 2022-5-9 23:10:11 来自手机 | 显示全部楼层
    5#
    向楼主学习
    回复 支持 反对

    使用道具 举报

    1

    主题

    172

    帖子

    173

    积分

    注册会员

    Rank: 2

    积分
    173
    发表于 2022-5-9 23:17:20 | 显示全部楼层
    6#
    支持支持再支持
    回复 支持 反对

    使用道具 举报

    2

    主题

    188

    帖子

    190

    积分

    注册会员

    Rank: 2

    积分
    190
    发表于 2022-5-9 23:28:07 | 显示全部楼层
    7#
    这么强,支持楼主,佩服
    回复 支持 反对

    使用道具 举报

    0

    主题

    168

    帖子

    168

    积分

    注册会员

    Rank: 2

    积分
    168
    发表于 2022-5-9 23:36:34 | 显示全部楼层
    8#
    撸过
    回复 支持 反对

    使用道具 举报

    2

    主题

    178

    帖子

    180

    积分

    注册会员

    Rank: 2

    积分
    180
    发表于 2022-5-10 00:11:42 | 显示全部楼层
    9#
    前排支持下了哦~
    回复 支持 反对

    使用道具 举报

    1

    主题

    173

    帖子

    174

    积分

    注册会员

    Rank: 2

    积分
    174
    发表于 2022-5-10 00:23:48 来自手机 | 显示全部楼层
    10#
    支持云码酷
    回复 支持 反对

    使用道具 举报

    12下一页
    • 售后服务
    • 关注我们
    • 社区新手

    申请友链|Archiver|手机版|小黑屋|云码酷 ( 京ICP备13037810号 )

    Powered by Discuz! X3.2  © 2001-2022 云码酷