网站首页 > 技术教程 正文
一、问题描述:app的请求登录接口成功后,再次访问其他接口报错401
二、部署逻辑图:
三、排查过程:
1、使用nginx,模拟第三方代理:
2、我方nginx,监听8084端口, 直接用根目录接收:
3、postman模拟请求登录接口:
http://127.0.0.1:8085/firstproxy/apptest/api/login?username=aaa&password=abc
正常返回:
访问业务接口:
问题重现:正常登录后,访问业务接口报错401??!!
开始以为是nginx没有带上cookie,导致会话丢失,故在nginx日志增加$http_cookid
查看日志情况,cookie是有的:
再次比较两次服务端返回的cookie发现,会话路径不是/,而是/apptest/, 表明登录成功的会话路径是/apptest/,而再次请求的会话路径是 /,所以服务端认为你没有登录,报错401了。
四、解决:
第一种方法:
修改tomcat会话路径:在\conf\context.xml增加如下配置:默认用项目名称做会话路径,修改为/。
再次测试,可以正常返回:
此次登录接口的会话路径为/
第二种方法:
采用jar包方式部署,这种原理和第一种一样,亲测可以。
第三种方法:
修改nginx配置,增加如下行,则可以将/apptest的cookie输出到/上。
重启nginx
再次测试可以
再次查看登录接口返回的cookie,会话路径变为/,问题解决。
以上就是对登录后出现401问题的总结,不知道对你们有帮助没?
码字不易,记得点赞加关注哦!!
猜你喜欢
- 2024-10-12 nginx反向代理tomcat程序,资源代码404解决方法
- 2024-09-26 Linux环境搭建Nginx+Tomcat负载均衡集群
- 2024-09-26 ThinkPHP在Nginx服务器上部署系统遇到的路径问题
- 2024-09-26 采集Nginx日志的几种方式(elk收集nginx日志)
- 2024-09-26 nginx alias location 区别(nginx location作用)
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)