搜搜吧

查看: 272|回复: 0

史上最全!discuz X3.2开启https的教程

[复制链接]

中学生

4040

主题

4359

帖子

1万

积分

Rank: 4

UID
15343
威望
-260
贡献
1365
在线时间
86 小时
注册时间
2015-10-12
发表于 2017-11-1 13:49:37 | 显示全部楼层 |阅读模式
discuz X3.2在系统上是支持https的,不过需要手动修改几个地方。首先确保服务器端已开启https,且正确配置了SSL证书。

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

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


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



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


修改为:
  1. 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'], '/'))));
复制代码
除去非 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证书。


搜搜吧社区温馨提示:
1、在门户或论坛里发表的文章仅代表作者本人的观点,版权都归原作者版权所有与本网站搜搜吧立场无关。
2、门户或论坛的所有内容都不保证准确性,有效性,真实性,时间性。阅读本站内容请自行核对发布者的真实性,本站不承担连带责任。
3、注册会员通过任何手段和方法针对本站门户或论坛进行破坏,我们有权对其行为作出处理,并保留进一步追究其责任的权利。
4、注册会员以及游客请遵守地方法律,请您在发表言论时注意您的言行举止,请勿发表低俗以及违反国家地方法律的文章,违者必将追究法律责任!
5、请勿发表侮辱或者诽谤他人,侵害他人合法权益的、含有军事、色情、药品、赌博、走私、法律、行政法规禁止的其他内容的、违者直接上报公安!
6、本站搜搜吧与全国各地公安机关网监部门以及工商管理部门共同监管,严厉打击禁止从事违法犯罪,损害国家利益的一切非法活动,全网站24小时监控!
7、本站所有帖内以及门户发布的图片均来自互联网,图片设计版权都归原作者版权所有,图片都由发布者自行发布,本站不承担任何盗版的连带责任。
8、本站所有的内容均来自互联网以及第三方作者自由发布、本站不承担任何的法律责任、若有侵权请来信告知,我们在收到举报后的一个工作日内立即删除、
9、搜搜吧删帖,投诉,举报,侵权,账号解封唯一指定快速受理频道,请直接发送邮件到 admin@soso021.com 一个工作日内核实并邮件通知立即删除
版权政策说明:
搜搜吧(www.soso021.com)十分重视网络版权及其他知识产权的保护,针对网络侵权采取如下版权政策:
1、本站有理由相信网友侵犯任何人的版权或作品,(图文,文字,下载,视频,非法传播),本站有权不事先通知即删除涉嫌侵权的作品和内容!
2、本站将采取必要的网络技术手段,确认为侵权作品或内容的用户有权进行警告、屏蔽、删除的行为,尽可能的防止侵权行为的发生!
3、如若您的作品或内容在搜搜吧被侵权,请及时联系我们并提供能证明版权所有的物品,我们将及时进行处理,给您造成不便,敬请谅解!
soso搜搜吧社区是聚合百度搜索,搜狗搜索,360搜索,新闻,教育,站长,广告,娱乐,影视,微信,网盘,营销,手机,汽车,游戏,论坛等综合为一体的大型门户社区!
Powered by soso021 X3.2© 2013-2018 搜搜吧社区 手机版|小黑屋|地图|苹果资讯网|搜搜天下事|滴滴打车|会计之家|seo博客|soso吧社区
《中华人民共和国工业和信息化部网站备案》沪ICP备16027893号-1  全国公安机关互联网站安全服务平台沪公网安备31010702002039号

GMT+8, 2018-1-17 11:14 , Processed in 0.156250 second(s), 29 queries , Gzip On.

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