语言:PHP
框架:Laravel 6.18.10
接口在本地运行正常,部署到服务器,却一直提示登录失效。
排查错误:
1、代码是 git 拉取的,核对分支,再次 pull ,没有问题。
2、核对配置文件配置(配置文件 .env 未提交代码仓库),没有问题。
3、在判断登录中间件打断点,发现没有获取到 header 里面的 auth_token.
4、修改 web 服务器 Apache 配置文件,允许请求头传递 auth_token 参数,问题没有解决。
5、修改参数名为 auth-token ,问题解决。
原因:
http请求头header参数中含有下划线“_”不能正常传递( web 服务器默认禁止使用下划线“_”,因为 CGI 历史遗留问题:下划线和中划线都为会被映射为 CGI 系统变量名中的下划线,这样容易引起混淆。)
Enjoy it !
原文:https://www.cnblogs.com/daizhongxing/p/13826755.html