前言:最近把服务器从apache改为了nginx,结果导致edusoho程序无法自动跳转登陆了
为了这个bug,检查了好几个小时,调试跟踪发现,如果判断用户没登陆,edusoho会报一个404错误,并且返回错误代码:4040101,JS判断是这个错误代码,就会跳出登陆弹窗、或者引导到微信授权登陆。
但是在nginx环境下,不返回正确的错误代码,返回了code:0
经过检查发现,宝塔对于nginx的配置多了一句
error_page 404 /404.html;

因为edusoho是报404,然后再进行下边的逻辑,但是这里捕获了404,就直接跳转到了404.html,但是由于服务器没有404.html这个文件,然后又报了个404出来,结果就返回了错误的错误信息
解决办法:
把error_page前边加个#,注释掉这2句就OK了
本文记录了将服务器从Apache切换到Nginx后,Edusoho程序出现无法自动跳转登录的问题及解决过程。在Nginx环境下,原本的404错误被错误地捕获并返回错误信息,导致登录机制失效。通过注释掉宝塔中关于404页面的错误处理配置,成功解决了此问题。
1713

被折叠的 条评论
为什么被折叠?



