老榕树社区

标题: 史上最全!discuz X3.2开启https的教程 [打印本页]

作者: 草木沁清    时间: 2017-3-13 11:21
看了下教程 我还是不开启了吧,等以后再说。
作者: 小小小童话    时间: 2017-3-13 11:21
这个修改没用
UC通讯会失败
作者: 忘情冷雨夜3800    时间: 2017-3-13 11:21
学习了
作者: lotto散人    时间: 2017-3-13 11:21
SSL证书申请可以去腾讯云或者阿里云申请;

部署SSL证书可以参考我的教程
作者: 牛虻老刺    时间: 2017-3-13 11:21
这个必须支持!回头转载走
作者: 傲娇怎么办    时间: 2017-3-13 11:21
我心枫叶 发表于 2017-1-13 21:28
这个必须支持!回头转载走
enen ,还有服务器端配置SSL的教程
作者: 夏了的夏天T    时间: 2017-3-13 11:21
其实我想说的是。你站为什么没有开启https!你确定能用?
作者: 中国杨神经    时间: 2017-3-13 11:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小晓的我崭    时间: 2017-3-13 11:21
向上的葱子 发表于 2017-1-15 14:38
我的discuz论坛是保留了http访问的。

我升级https只是为了苹果版的app上架。
好吧!虽然用不到还是谢谢你的分享
作者: 齐天大剩孙悟空    时间: 2017-3-13 11:21
meteor8488 发表于 2017-1-23 07:43
你把80端口关闭再试试
你能成功是因为UC通讯其实还是走的80
我觉得你挺搞笑的,UC那么老的程序了,这么多年没有更新了,不支持https是情有可原的。
那你还会不会说关掉80端口,应用中心还没法用了呢

我的教程都是基于discuz本身已有的功能来设置的,如果你想直接关闭80端口还可以正常使用uc和应用中心,那你去求discuz再更新下UC和应用中心吧
作者: 紫微真人001    时间: 2017-3-13 11:21
标题: 史上最全!discuz X3.2开启https的教程
本帖最后由 向上的葱子 于 2017-1-13 19:45 编辑

discuz X3.2在系统上是支持https的,不过需要手动修改几个地方。首先确保服务器端已开启https,且正确配置了SSL证书。

discuz X3.2开启支持https主要需要修改一下几个地方:

1、查找修改文件discuz_application.php :
source/class/discuz/discuz_application.php (约第 187 行处): 查找:
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;


修改为:
$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;


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'], '/'))));


3、除去非 HTTPS 内容避免提示”不安全内容“
Source/plugin/manyou/Service/DiscuzTips.php ,最后的那段 JS 加载脚本删除就行。
非楼主层如果有点评,那么点评者头像不是 HTTPS 开头,也需要修改一个文件来适配: template/default/forum/viewthread_node_body.htm (约 180 行),搜索 div class="psta vm">,将下面一行注释掉或者删除。
打开浏览器,使用开发者工具或者查看源码逐一排查加载的非 HTTPS 资源并修改。

4、后台设置的修改完善
在后台还有一些设置,可能会干扰 https 的使用。

后台 >全局 > 站点 URL ,改为 https 开头的

后台 > 站长 > UCenter 设置 > UCenter 访问地址,修改为 https 开头的

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

5、模板的调整
主要在模板的 foot.html 以及 header.html 等文件中,使用工具逐一排查模板文件中写死的 HTTP 链接,修改为 HTTPS 。


6、数据库的调整
在论坛这种交互社区中,经常回复发帖时会有出现主域名的链接,在没有 HTTPS 之前,链接都是 HTTP 开头,这个时候,我们需要修改数据库,运行下面的 mysql 命令更新数据库,将 HTTP 替换为 HTTPS :
进入 DZ 后台:站长 – 数据库 – 升级
UPDATE pre_forum_post SET message=REPLACE(message,'http://你的网址','https://你的网址');



需要注意的是,出于安全考虑, Discuz 后台默认情况下禁止 SQL 语句直接执行,只能使用常用 SQL 当中的内容,如果想自己随意书写 SQL 升级语句,需要将程序文件 config/config_global.php 当中的$_config[admincp][runquery] 设置修改为 1 。


到此,discuz X3.2已经开启支持https了 。


当然,你还需要申请SSL证书、在服务器端部署SSL证书。


服务器端部署https的SSL证书可以看我的这个教程:


http://www.aitiancheng.com/article-246.html




需要付费指导的可以加我的QQ:2190906550
作者: a738979800    时间: 2017-3-13 11:22
meteor8488 发表于 2017-1-19 07:25
这个修改没用
UC通讯会失败
是吗?我的挺好用的
作者: 清湾捞仔    时间: 2017-3-13 11:22
bydxxg 发表于 2017-1-18 17:35
看了下教程 我还是不开启了吧,等以后再说。
准备新站用楼主的方法测试下看看
作者: 豪鬼大帝    时间: 2017-3-13 11:22
我心枫叶 发表于 2017-1-20 12:19
准备新站用楼主的方法测试下看看
还是不弄了,弄不好会影响其它网站运行的。
作者: 草木沁清    时间: 2017-3-13 11:22
向上的葱子 发表于 2017-1-19 13:41
是吗?我的挺好用的
你把80端口关闭再试试
你能成功是因为UC通讯其实还是走的80
作者: 小小小童话    时间: 2017-3-13 11:22
向上的葱子 发表于 2017-1-19 13:41
是吗?我的挺好用的
你把80端口关闭再试试
你能成功是因为UC通讯其实还是走的80
作者: 蓝蓝蓝1112015    时间: 2017-3-13 11:22
meteor8488 发表于 2017-1-23 07:43
你把80端口关闭再试试
你能成功是因为UC通讯其实还是走的80
我觉得你挺搞笑的,UC那么老的程序了,这么多年没有更新了,不支持https是情有可原的。
那你还会不会说关掉80端口,应用中心还没法用了呢

我的教程都是基于discuz本身已有的功能来设置的,如果你想直接关闭80端口还可以正常使用uc和应用中心,那你去求discuz再更新下UC和应用中心吧
作者: 星河宇飞来    时间: 2017-3-13 11:22
向上的葱子 发表于 2017-1-23 10:02
我觉得你挺搞笑的,UC那么老的程序了,这么多年没有更新了,不支持https是情有可原的。
那你还会不会说 ...
前天朋友X3.3配置了https,UC通信正常。应用中心的好像只能手动输入了访问地址了。。
作者: 云的裁剪师    时间: 2017-3-13 11:22

作者: 黄昏游子333    时间: 2017-3-13 11:22
应用中心的安装只能靠手动修改地址了吗?
而且工作量似乎有点大。。。我论坛的背景图来源站点也不是https。。。
作者: 牛虻老刺    时间: 2017-3-13 11:22
if2333 发表于 2017-1-23 17:30
应用中心的安装只能靠手动修改地址了吗?
而且工作量似乎有点大。。。我论坛的背景图来源站点也不是https ...
同时保留80和443端口访问就可以了。进应用中心用http
作者: 我冤我恨    时间: 2017-3-13 11:22
向上的葱子 发表于 2017-2-4 19:35
哈哈,老哥对不住你了。也给你说声抱歉
作者: 白头老狼    时间: 2017-3-13 11:22
支持下,楼主不一定是个好人,但一定是个热心人
作者: 幻影坦克2016    时间: 2017-3-13 11:22
向上的葱子 发表于 2017-1-23 10:02
我觉得你挺搞笑的,UC那么老的程序了,这么多年没有更新了,不支持https是情有可原的。
那你还会不会说 ...
UC通讯不正常意味着什么?

头像上传出问题,修改密码用户登录都会出问题

然后你这里号称支持https,结果连最核心的部分都搞不定,还说别人搞笑。。。
真是笑话。
作者: 白糖加开水    时间: 2017-3-13 11:22
赖先生 发表于 2017-1-26 11:17
支持下,楼主不一定是个好人,但一定是个热心人
呵呵,你不一定是个白痴,但一定是一个正常人
作者: 娃娃美美哒    时间: 2017-3-13 11:22
meteor8488 发表于 2017-1-28 20:31
UC通讯不正常意味着什么?

头像上传出问题,修改密码用户登录都会出问题


不好意思,我来打你脸来了。

https模式下进入uc,通信正常
作者: 王活泼    时间: 2017-3-13 11:22
向上的葱子 发表于 2017-1-30 09:07
呵呵,你不一定是个白痴,但一定是一个正常人
哥们...你这回复有点上火了吧。
我可是夸你好人...后面那句只是玩笑
算了,向你抱歉吧,不知道你那么刚烈
作者: 紫微真人001    时间: 2017-3-13 11:22
有多少人试过了,好用吗?
作者: 从人者108    时间: 2017-3-13 11:22
赖先生 发表于 2017-2-4 12:32
哥们...你这回复有点上火了吧。
我可是夸你好人...后面那句只是玩笑
算了,向你抱歉吧,不知道你那么刚 ...
哈哈,老哥对不住你了。也给你说声抱歉
作者: huanlema8    时间: 2017-3-13 11:22
本帖最后由 wuzezhong 于 2017-2-5 09:32 编辑

大哥,能帮我看看个问题么?手机端discuz在手机的浏览器上点击登录起码错误了还有个错误弹框,但在微信上点击登录就直接出现404错误
作者: 夏了的夏天T    时间: 2017-3-13 11:22
我改了 但是好像没什么用..................




欢迎光临 老榕树社区 (http://club.lrswl.com/) Powered by Discuz! X3