转自:https://www.cnblogs.com/mingaixin/p/4776359.html
由于业务的原因,需要将网站从通过域名访问变换为通过IP+PORT的访问方式;
以前的配置:
server {
listen 80;
server_name wx.xxxx.com;
}
以前的登录页面:
wx.xxxx.com/login 可以成功登录
修改为
server {
listen 8080;
server_name 129.3.101.9;
server_tokens off;
}
登录页面:
129.3.101.9:8080/login 填写信息,点击登录之后,又重新跳转至登录页,一直这样的循环
问题分析:
登录的原理,就是服务器获取到用户信息后,将sessionid写入cookie,然后用户下次请求的时候,将cookie信息带到服务端,服务端通过$_COOKIE[‘key’]验证登录信息。
从上面的现象来看,应该是登录后,服务器端没有正确获取到cookie的值,从而判断用户并没有登录,循环跳转到登录页。
解决办法:
根据上面的思路,找到登录处理的逻辑,发现setcookie()的时候,的确绑定了domain,将域名的参数改为空,重新登录,问题解决。