Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 分享Discuz3.2启用https访问的实践

[复制链接]
mlsjla 发表于 2016-6-30 10:52:27 | 显示全部楼层 |阅读模式
目前https的重要性不言而喻了,但是discuz由于其庞大复杂的功能架构,迭代次数太多而导致的臃肿的代码,云平台等产品落后拖后腿导致https实施起来可能面临一些不可预料的问题。于是我们就做了一次https的实践,来看看discuz的https之路到底能走到哪一步。

测试网址:https://www.playzhan.com

总结:基本用户是正常的,后台和云平台的一些互通功能会有异常(不影响普通用户使用。)

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

其他情况的预测:
  • 如启用了远程附件,远程附件访问的url地址也需要改为https
  • 可以把后端admin.php访问的路径,取消https,这样子可以保证后台的可访问,不过会牺牲安全访问啦。


环境参数:
服务器:云服务器
环境:centos64位+nginx + mysql+PHPv5.4
discuz版本:Discuz! X3.2


ssl证书申请地址(用得免费的证书)
https://www.startssl.com/
主要操作:(新版本的dz160601实际上第一二步可以不用改了。)

第三步骤:服务器相关配置
  • 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.         }
复制代码



主要参考文档:https://www.playzhan.com/p/1523

dej.sf 发表于 2016-6-30 20:06:14 | 显示全部楼层
F1.0那边好像好多呼声要求增加对https支持的,可惜依旧没人鸟 =。=
回复

使用道具 举报

-q:1715783015 发表于 2016-6-30 20:52:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

leonlaiminwang 发表于 2016-8-3 21:05:26 | 显示全部楼层
修改 source/function/function_core.php 会导致uc通信失败,所以不可修改!
回复

使用道具 举报

yoernet 发表于 2016-9-22 19:10:21 | 显示全部楼层
APP里修改头像失败
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 06:13 , Processed in 0.022511 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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