新版本的禅道在使用 nginx 做 https 反向代理时,无法正常安装、升级以及登录

是想从 docker 的 12.5.3 版本升级到 16.0 版本,但是按步骤升级完成后,发现会卡在一个“禅道开源版15版本升级”的介绍页面无限循环

直接部署全新的系统,也会卡在配置数据库连接的页面无限循环

而且在容器的日志中,会有一条

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

数据库错误,很是迷惑,排查了半天数据库的原因,发现原来的版本也有这条日志,并影响系统使用,确定不是这方面的原因。

后来经过各种可能性的排查,最后想到去掉 nginx 的 https 转发试一下,果然使用 http 就可以了!

后来在部署完再加上 https 发现登录又不行了,不过顺着这个思路再找就好找原因了。

从网上搜索到的文章的看到根据官方问答中一条记录:https://www.zentao.net/ask/36770.html

看起来原因是增加了 CSRF 防御代码,与 nginx 的配置不兼容,导致了这个问题,暂时还没有继续深入研究如何配置 nginx 可以达到兼容。

不过在官方的问答区看到了最新版本已经增加了一个 CSRF 的开关:

https://www.zentao.net/ask/38485.html

通过在 config/my.php 用户配置文件中,增加一条

$config->framework->filterCSRF = false;

暂时关闭 CSRF 即可解决问题。

唔,很坑的一点,官方的安装、升级文档似乎也没有提到这一块,下面的网友回复全都是加QQ,解决过了也不提一下,哎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值