gateway网关不走本地问题
gateway网关不走本地问题
-
原始网关配置
[
{
"id": "lecent-park",
"order": 0,
"predicates": [
{
"name": "Path",
"args": {
"pattern": "/lecent-park/**"
}
}
],
"filters": [],
"uri": "lb://lecent-park-cy"
}
]
-
解决后配置
将order值设置为-1
[
{
"id": "lecent-park",
"order": -1,
"predicates": [
{
"name": "Path",
"args": {
"pattern": "/lecent-park/**"
}
}
],
"filters": [],
"uri": "lb://lecent-park-cy"
}
]
-
原因分析
- 路由配置自动装配到route
- 在请求进来的时候进行路由匹配
- 在路由匹配的时候是循环所有路由,直到匹配成功返回PathPattern对象
问题就出来匹配的时候,因为同一个路由(/lecent-park/**)有多个,先匹配到谁就返回谁
- 装配路由(有两个)
- 匹配路由(如果order=0) 走的路由是lecent-park
- 如果order=-1 第一次就匹配到lecent-park-cy
上一篇:
IDEA上Java项目控制台中文乱码
