nginx servername配置域名网站可以正常登录,servername配置IP+Port却无法正常登录

由于业务的原因,需要将网站从通过域名访问变换为通过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,将域名的参数改为空,重新登录,问题解决。
原文地址:https://www.cnblogs.com/mingaixin/p/4776359.html