玩传奇论坛

 找回密码
立即注册

扫一扫,访问移动社区

论坛喇叭+ 发布

01-25 10:01
系统通知全站压缩包解压密码:www.wanmirbbs.com
01-25 10:01
01-25 10:01
查看: 1737|回复: 1
打印 上一主题 下一主题

[教程] Discuz!X启用https(SSL证书)访问设置!

[复制链接]
跳转到指定楼层
楼主
发表于 2018-1-11 12:54:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,以游结友!

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

x
目前https的重要性不言而喻了,但是discuz由于其庞大复杂的功能架构,迭代次数太多而导致的臃肿的代码,云平台等产品落后拖后腿导致https实施起来可能面临一些不可预料的问题。于是我们就做了一次https的实践,来看看discuz的https之路到底能走到哪一步。

首先您得有一个独立域名、独立VPS。
服务器:云服务器
环境:centos64位+nginx + mysql+PHPv5.4
discuz版本:Discuz! X3.2

SSl证书申请地址(免费证书)
https://www.startssl.com/

第一步:按照参看文献中修改部分文件,让其支持我们的环境。
查找文件:source/class/discuz/discuz_application.php
  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;
复制代码

接下来查找文件:uc_server/avatar.php
  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'], '/'))));
复制代码

第二步:修改后台和uc的配置,保证通信
后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的
UCenter后台 > 应用管理 > 应用的主URL,修改为https开头
另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。

第三步:服务器相关配置
http重定向到https
证书访问部署,重启nginx

第四步:去除discuz_tips
source/function/function_core.php
  1. if(!defined('IN_MOBILE') && !defined('IN_ARCHIVER')) {
  2.          $tipsService = Cloud::loadClass('Service_DiscuzTips');
  3.          $tipsService->show();
  4.     }
复制代码
替换为
  1. if(!defined('IN_MOBILE') && !defined('IN_ARCHIVER')) {
  2.         // $tipsService = Cloud::loadClass('Service_DiscuzTips');
  3.         // $tipsService->show();
  4.     }
复制代码

总结:基本用户是正常的,后台和云平台的一些互通功能会有异常(不影响普通用户使用。)
uc通信是显示不成功的,不过这个主要是测试地址http被拦截了,不影响使用。
前台,目前没有发现任何不兼容问题,也就是普通用户访问时基本上没问题的。
后台,云平台功能会有一些异常,主要是在https的环境中,discuz太old的云平台目前不支持https,被浏览器屏蔽。
安米app不支持https,目前的解决办法,就是安米的app这边请求暂时保持http请求原状。
第三方插件大体都支持,但是如果有绝对连接http的,估计可能被拦截。
qq互联、微信登录等,目前测试正常。

其他情况的预测:
如启用了远程附件,远程附件访问的url地址也需要改为https
可以把后端admin.php访问的路径,取消https,这样子可以保证后台的可访问,不过会牺牲安全访问啦。
法律声明:
1. 本站所有资源和素材来源于网络收集,如有侵权内容请联系站长删除处理!
2. 本站大部分下载资源收集于网络,版权归原作者所有,如有侵权请联系删除。
3. 本站提供的素材、源码、等等其他资源,都不包含技术服务支持!
4. 若因线路和服务器问题非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5. 注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
收藏收藏 分享分享 分享淘帖 支持支持 反对反对
沙发
发表于 2018-2-28 11:19:40 | 只看该作者
回的人少,我来小顶一下!
懒得打字嘛,点击右侧快捷回复 【乱回复纯数字纯字母将禁言】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

必备工具

地图查看分析转换三合一

目前地图转换 单纯的OB真彩地图转换编...号想必很多人都会, 也有很多工具

南宫地图编辑器v5.0

使用方法,放置传奇客户端DATA文件夹...

Tiles转换工具,支持支持255

支持255地图转换工具!

关于本站

玩传奇论坛 - 专业提供游戏素材、游戏工具、传奇单机、传奇服务端,致力于打造最精品的版本素材分享平台!

Archiver|小黑屋|玩传奇吉ICP备18002996号-1) |网站地图 

GMT+8, 2024-11-5 21:59 , Processed in 0.036170 second(s), 35 queries , Gzip On. 

 Powered by Discuz! X3.2

 © 2001-2013 Comsenz Inc.

返回顶部