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,将域名的参数改为空,重新登录,问题解决。
时间: 2024-08-28 08:45:40

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

Linux+Nginx+Tomcat 多域名,多应用在同一服务器的配置

Linux+Nginx+Tomcat 多域名,多应用在同一服务器的整合配置 实现的效果和达到的目的为: 1.有两个域名www.aaa.com www.bbb.com 分别对应两个两个不同的网站,但是公用同一个Nginx和Tomcat服务器: 2.所有的JSP等动态内容转发到Tomcat处理,js.图片等直接由Nginx负责处理: 3.上传的图片不在应用的根目录下面,需要另外指定转发(Nginx Alias 虚拟目录) 以下为示例配置文件: Tomcat 配置:server.xml <Host n

一台nginx服务器多域名配置

Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server { listen 80; server_name ssdr.info www.s

Nginx 通过 certbot 为网站自动配置 SSL 证书并续期

一.背景知识 1.1.http 和 https 是什么? 简单来说,http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 http://www.163.com ,其网页上的文字.图片. CSS . JS 等文件都是通过 http 协议传输到我们的浏览器,然后被我们看到. 而 https 可以理解为“ HTTP over SSL/TLS ”,好端端的 http 为什么需要“ over SSL/TLS ”呢,因为 http 是明文传输的,通过 http 协议传输的内容很容易被偷看和

tomact配置域名和端口直接访问网站

tomact配置域名和端口直接访问网站,就是使用域名解析到主机,通过端口执行网站地址,实现访问,在上一章节中发布了两个web项目,但是都是执行同一个根文件夹,通过 http://localhost:8080/项目名称   以这样的地址进行访问的. 下面通过配置Tomcat安装地址下的conf文件夹下的server.xml文件,实现绑定域名和指定端口到指向目录实现 域名加端口访问 网站 1.先配置两个虚拟域名.打开以下目录:C:\Windows\System32\drivers\etc 选中hos

Nginx 301重定向域名

为何要使用301重定向 在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名.网页的扩展名改变.网站域名改变等.如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失.不仅如此,之前该页面的一切积累(比如PR值)就都白费了. 301重定向不仅能使页面实现自动跳转,对于搜索引擎来说,也可能可以传递PR值. nginx重定向规则详细介绍 http://www.jefflei.com/post/1015.html rewrite命令n

github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)

详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clone,运行,看到博客演示.觉得可以给颗星星):https://github.com/saucxs/hexo-blog-origin.git 一.搜索引擎收录 1.验证网站所有权 登录百度站长平台:http://zhanzhang.baidu.com,只要有百度旗下的账号就可以登录,登录成功之后在站点

Apache(httpd)配置--用户认证,域名跳转和访问日志配置

一.用户认证 用户认证功能就是在用户访问网站的时候,需要输入用户名密码才能进行访问.一些比较好总要的站点和网站后台都会加上用户认证,以保证安全.实例:下面对zlinux.com站点来做一个全站的用户认证: 步骤1:编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //在linuxtest.com虚拟主机下编辑添加以下内容 <VirtualHost *:80> Documen

nginx的多域http、https同时访问配置及http重定向https

1.关于ssl 服务证书的申请或生成就略过 2.nginx关于多域名访问服务器(1)配置nginx中conf文件夹下的nginx.conf加入代码(环境是windows 2008 server+upupw_np7.0) include vhosts.conf; (2)conf文件夹下新建vhost.conf, 加入以下内容: server {listen 80;server_name aaa.com www.aaa.com;location / {root C:/UPUPW_NP7.0/htdo

Nginx禁止未绑定域名和IP访问443端口

问题:例,a.xxx.com 开启了https,访问https://a.xxx.com ,正常,访问未配置https的域名,如 https://b.xxx.com 会打开https://a.xxx.com 的内容 解决办法:为Nginx的443端口设置default_server,并拒绝 配置:server {listen 443 default_server;servername ;ssl on;ssl_certificate 随便设置一个ssl证书; ssl_certificate_key