[HTTPS技巧相关]
discuz3.2开启ssl实现https需要修改的几个地方
[复制链接]
|
discuz X3.2在系统上是支持https的,不过需要手动修改几个地方。首先确保服务器端已开启https,且正确配置了SSL证书。; g8 y6 f0 X3 I* S6 p
' t. \: f% V' R6 G4 H- L Zdiscuz X3.2开启支持https主要需要修改一下几个地方:
4 n9 {$ @3 p2 g2 r: V) n; a7 u, c% U: h1 P! [
1、查找修改文件discuz_application.php :
4 K2 B9 q) A! A: M8 {; b7 ^0 S" ^source/class/discuz/discuz_application.php (约第 187 行处): 查找:* A, y( F1 G, [' P/ e0 t# o- E1 J
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;: l0 \3 S& _5 a3 d
9 \ }! }+ x9 ?7 l( i* D! p( D- J- z4 {
1 r: L1 K2 ]/ O) L3 s修改为:
- N7 S$ F+ T1 r/ l) X' v$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;* J1 J7 C$ I) [% i2 b
/ P+ x8 H6 e% A9 B. g2 S% \- _# R
" d, p2 S6 t9 }2 D. Y% \2、查找修改文件avatar.php :
& _. W: U( }" ?" M# i3 e% Buc_server/avatar.php (约第 13 行处)查找:: u& A2 {7 I Z
! A' X6 j0 M8 k6 t8 c
( S' f" ^; H( i6 e! o
define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
2 p; P$ g) A4 { Y% |- S& Q7 H l0 M9 _; B! k S# i
7 z) \5 T Q* N, g6 w
7 P& i* k( C# P& |# N
# h. K" M% Q1 i) _5 k/ A$ ^* x V7 Q2 P+ _* r4 k. `5 I( Y7 S& q3 i
修改为:: I5 w( _4 g1 m% e
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'], '/'))));, Q2 a: [% z/ p3 y$ N
1 d: E2 B- ?8 H5 T$ K
' H i4 K! a* e3、除去非 HTTPS 内容避免提示”不安全内容“* q6 D3 C) J0 ?% R' j% {. c" F5 r
Source/plugin/manyou/Service/DiscuzTips.php ,最后的那段 JS 加载脚本删除就行。
9 R1 N3 J7 m3 |2 |2 H l7 w2 D非楼主层如果有点评,那么点评者头像不是 HTTPS 开头,也需要修改一个文件来适配: template/default/forum/viewthread_node_body.htm (约 180 行),搜索 div class="psta vm">,将下面一行注释掉或者删除。
, A w* ?7 y% E7 i1 G" n" b8 w打开浏览器,使用开发者工具或者查看源码逐一排查加载的非 HTTPS 资源并修改。
) v G( \- J1 K5 A' r4 m( Y7 S* ^4 {; O5 ~, S6 p, f
4、后台设置的修改完善5 _- ]+ j0 J, O) M( W
在后台还有一些设置,可能会干扰 https 的使用。5 T4 i |) ~7 [% ]' D! \
7 g, [2 N& Z: R- u$ b# ^8 E后台 >全局 > 站点 URL ,改为 https 开头的" G' D8 n/ [- v# g* i
+ e* n t Q% X0 ^$ m6 l% _后台 > 站长 > UCenter 设置 > UCenter 访问地址,修改为 https 开头的
8 n" M( ~* s4 H) v7 ~5 L+ _" _
4 t. d0 ?% t& T5 PUCenter 后台 > 应用管理 > 应用的主 URL ,修改为 https 开头。* U I' s) F+ G- z( ?* `+ B7 ?
修改后可能会显示通讯失败,如果 UC 和论坛程序安装在同一机器,此失败可无视,实测可以和 UC 正常通讯不影响(测试是否正常通讯程序的 Bug ),如果 UC 和论坛程序不在一台机器上,有可能不能通讯。 另外在 后台 > 全局 > 域名设置 中的一些设置也可能使 https 失效,如果更新缓存后论坛默认连接还是 HTTP ,请删除 后台 > 全局 > 域名设置 > 应用域名 > 默认 里面的默认域名(一般去 forum.php 尾巴这里会有内容,为了 HTTPS 请删除)。! b1 D, z$ B6 [
- P! c$ D |- u4 A5、模板的调整8 t, q2 e: c! ~1 e
主要在模板的 foot.html 以及 header.html 等文件中,使用工具逐一排查模板文件中写死的 HTTP 链接,修改为 HTTPS 。
5 W2 P2 c0 ~, w- P
; O7 k7 _+ n. k) f$ z
. V$ [! ?- S, I; K# |6、数据库的调整- s9 p+ i1 z$ g% D+ |2 K
在论坛这种交互社区中,经常回复发帖时会有出现主域名的链接,在没有 HTTPS 之前,链接都是 HTTP 开头,这个时候,我们需要修改数据库,运行下面的 mysql 命令更新数据库,将 HTTP 替换为 HTTPS :
8 E3 O5 T# w( R8 A: g2 G进入 DZ 后台:站长 – 数据库 – 升级+ e j6 l, ?* U4 s
% i' m( t$ i1 L" h# O$ y! |' v8 |
& Y8 d5 U; T$ j& Q* w: |/ h: j6 w
【魔趣吧资源下载指南】--默认解压密码:www.moqu8.com
1,如有异常请按 F5 刷新本页面!
【资源维权反馈】
2,首发及精品资源受到保护,扣除趣币!趣币可通过分享资源免费获得!懒人也可选择充值!
|
|