最近项目使用的是easyswoole,登陆使用的是token,前端是通过header发送的登陆信息,项目上线的时候,更换服务器后,然后使用了伪静态,导致登陆过后,前端再去请求其他接口时,一直提示“请登陆”。然后查看redis,redis 里边存的是有用户的登陆信息,但是打印获取的header信息,是个空数组。然后就去查看nginx,查找原因后得知是nginx在转发请求时会默认忽略带有"_"下划线的头信息。
location / {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://127.0.0.1:7700;
proxy_set_header real-ip $remote_addr;
}
解决方法:找到nginx.conf 配置文件在http 头部添加 underscores_in_headers on;