架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9200|回复: 2

[建站知识] 关于 Discuz! (X3.1) 如何开启https加密功能

[复制链接]
发表于 2015-5-30 23:42:13 | 显示全部楼层 |阅读模式
时代一直在发展,我们对于安全通信的需求也越来越高。在 Discuz X3 中,据说支持了https,所以在我有了SSL证书后,第一时间就给网站加上了SSL。但加上之后,发现很多地方并没有使用https链接,遂开始查看Discuz源码,看看哪里出了问题。
1、SSL证书&配置
首先,要开启SSL,总得有一个证书吧?无论是正规CA颁发的,还是自己签的,没有肯定是不行的。如果没有的话,先去申请个吧。(具体方法请谷歌,这里不再赘述)
2、Discuz! 优化2.1、程序调整
自 Discuz! X3 开始,已经加入了对https的支持,如果你使用https访问论坛,论坛中的链接都会变成https。如果你发现大部分链接都已经使用了https,就代表Discuz已经自动识别了,此时,可以跳过本步,直接进入下一步。
Discuz采用 $_SERVER[‘HTTPS’] 的方式来判断SSL,但是因为我的VPS架构问题(nginx+php-fpm),无法采用这种方式识别,所以需要对Discuz程序进行一些调整(使用 $_SERVER[‘SERVER_PORT’] 来判断)。
source/class/discuz/discuz_application.php(约第187行处):
查找:
修改为:
uc_server/avatar.php (约第13行处):
查找:
修改为:
修改过后,更新缓存,发现大多数链接都变成了https。
2.2、后台设置
在后台还有一些设置,可能会干扰https的使用
后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的
UCenter后台 > 应用管理 > 应用的主URL,修改为https开头
另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。
3、清理缓存
设置完成之后,需要清理缓存,使设置生效。
清理缓存及内存缓存,如果设置了帖子缓存,还需清理数据库内的缓存(清空相应cache数据库,或者静等缓存失效)
至此,Discuz https启用成功,当然,在访问某些页面的时候,可能锁会打上叉。因为页面中加载了其他http内容。可能是统计代码、QQ分享代码、QQ秀头像等,这部分服务暂时没有提供https协议,因而无法启用。只能等待Discuz进一步支持https。





上一篇:2015谷歌I/O大会新品汇
下一篇:Nginx自启动失败
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-1 17:05:36 | 显示全部楼层
论坛想启用ssl加密传输技术
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-1-3 13:57:42 | 显示全部楼层
直接  $_G['isHTTPS'] = true;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 04:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表