原文地址

问题描述

记录项目中碰到的一个小问题。问题描述:测试工程师在测试项目过程中发现会时不时出现404,起初还不相信,后来验证发现确实,而且出现的频率不算太高。

配置及请求

GET: localhost:9000/v1/auth/info?token=xxx

访问错误信息如下:

{"timestamp": "2021-06-29T06:46:35.477+0000","status": 404,"error": "Not Found","message": "No message available","path": "/auth/info"
}

gateway的yml配置:

      routes:- id: auth-serviceuri: lb://auth-servicepredicates:- Path=/v1/auth/**filters:- StripPrefix=2- id: bus-serviceuri: lb://bus-servicepredicates:- Path=/v1/**filters:- StripPrefix=1

问题分析

起初出现问题,也不知道如何去定位,而且404没有更详细的日志,接口是经过网关访问Auth服务。

  • 查询各种日志无果

  • 后经验证发现不是Auth服务的问题,但是也很茫然,继续寻求定位问题的途径。

  • 接着增加了Zipkin连续追踪,等待404大爷的到来~

  • 查询404请求,此时发现了问题,解析的http.path是:/auth/info,但是我的auth-service匹配的是StripPrefix=2,匹配的路由难道不应该是/info吗!

于是发现了问题所在:

在匹配/v1/auth/info时,发现路由走了bus-service的/v1/**,并没有按预想的途径进行。所以此时猜想:route下的书写顺序并不能保证路由的匹配优先级,查询到order配置,增加上即可

结论

gateway配置routes一定要增加order,数字越小优先级越高

反思原因:工具使用不熟练!

Spring项目接口偶尔报404 Not Found相关推荐

  1. Idean2018版本创建Gradle项目配置Tomcat报404错误(The origin server did not find a current representation for the)

    一.在IntelliJ IDEA2018版本创建Gradle项目配置Tomcat报404错误 二.解决方案:红框部分,在外部存储生产的项目文件的勾一定不要勾选. 只要勾选就是404 然后问题就解决了.

  2. mac电脑IDEA使用tomcat报404

    首先idea集成tomcat没有什么问题,但发布web项目时就报404,可能导致报404的原因有很多, 是因为终端启动了tomcat,由于一个端口不能起两次所以在idea里面再启动tomcat就在浏览 ...

  3. mongodb偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream

    项目开发中,链接mongodb的项目,偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream 报错的详细 ...

  4. ssm启动不报错_解决idea导入ssm项目启动tomcat报错404的问题

    用idea写ssm项目,基于之前一直在用spring boot 对于idea如何运行ssm花费了一番功夫 启动tom act一直在报404 我搜了网上各种解决办法都不行,花费一天多的时间解决不了 就是 ...

  5. springmvc项目,浏览器报404错误的问题

    问题描述: 建立了web工程,配置pom.xml,web.xml,编写controller类,在spring-mvc-servlet.xml文件中指定开启注解和扫描的包位置<mvc:annota ...

  6. 关于访问后端接口报404的问题——全网最详细的404错误详解

    当我们通过前端向后端发起一个请求调用后端接口时,经常会遇到404的问题.网上关于对404问题介绍的一大堆,其实404问题的本质就两点. 在介绍404问题之前先温习一个小的知识点--项目访问路径 项目访 ...

  7. vue html引入资源dev下404,webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)...

    最近在使用webpack + vue做个人娱乐项目时,发现npm run build后,css js img静态资源文件均找不到路径,报404错误...网上查找了一堆解决办法,总结如下 一.首先修改c ...

  8. php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理

    这次给大家带来Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理,Vue项目webpack打包部署时Tomcat刷新报404错误问题处理的注意事项有哪些,下面就是实战案例,一起 ...

  9. IDEA发布运行web项目(曾经遇到的项目启动报404)

    问题: 配置: 配置 facets ,此步很重要,配置 web resource directories ,路径配错,就会报 404 ,一定要定位到项目根目录,也就是下面有整个项目源码的地方 下面是配 ...

最新文章

  1. oracle调整字段精度的四种方法
  2. Swagger 入门使用
  3. keil obj 文件 结构_【Python】数据分析前的入门教程 Python For Everybody P2:数据结构...
  4. arm开发板放张图片动起来_ARM裸机不能正确显示图片的问题
  5. 【STM32】GPIO之按键
  6. CRM和ERP的Sales Organization的映射关系
  7. mybatis 返回 插入的主键
  8. WinDBg定位asp.net mvc项目异常崩溃源码位置
  9. linq 查询的结果会开辟新的内存吗?
  10. android学习之-Style样式的定义
  11. 【转】用MYSQL都可能会遇到的问题:MYSQL字符数字转换
  12. JQuery URL的GET参数值获取方法
  13. python packaging quickstart
  14. Java Web学习总结(16)——JSP的九个内置对象
  15. UltraEdit 注册机使用激活方法
  16. 编程小知识之 虚假唤醒(spurious wakeup)
  17. Swift-Tips之rounded(_:)
  18. RK3288开发板PopMetal上的GPIO驱动实例
  19. 那么telnet到底是一个协议还是一个软件呢?
  20. python青少年趣味编程-青少年趣味编程Python系列课程--2018-07-17

热门文章

  1. HTML生成word文档
  2. 嵌入式计算机分类,嵌入式系统的分类
  3. SLAM基础 —— 视觉与IMU融合(VIO基础理论)
  4. 隐患排查和安全生产预警系统解决方案
  5. 结对项目-小游戏连连看
  6. 啥是inference推理/推断?
  7. Java 百万数据秒级导出到Excel中
  8. 名著赏读 | 《教育思想的演进》读书报告
  9. Nginx无法启动 遇见unknown directive if(!-f in E:\xiangmu\nginx-1.14.0/conf/nginx.conf:28
  10. PC游戏史上十大最经典RPG