goodrain / rainbond

No need to know Kubernetes' cloud native application management platform
https://www.rainbond.io
GNU Lesser General Public License v3.0
5.19k stars 791 forks source link

🐞 反馈问题:新增路由时添加多级路径或过长的一级路径都会报 "route not found" #2154

Closed Hanxc-erds closed 1 month ago

Hanxc-erds commented 2 months ago

请先确认以下事项:

问题描述

在网关管理中的路由管理中新增路由时,在路径一栏中配置多级路径或者配置单级路径时,如果路径中有大写字母,点击确定时会报 "route not found" ,且无法新增路由。

举例 : 单级路径: /testgetuserapi 这种路径可以正常添加,但如果是 /Testgetuserapi 或 /testgetUserapi 或 /test/GetUserapi 之类的就无法添加

多级路径: /test/get/user/api 这种路径可以正常添加,但如果是 /Test/get/user/api 或 /test/get/User/api 或 /test/Get/User/api 之类的就无法添加

该问题是否可以稳定重现?

可重现

重现步骤

选择任意一个服务,点击 网关管理 --> 路由管理 --> HTTP --> 新增路由 --> 输入域名 --> 输入纯小写字母的单级或多级路径可以添加,其中掺杂了大写字母的话就会报 "route not found" 。

截图

小写字母的路径可以正常添加: Image

大写字母的路径无法添加: Image

Image

日志

2025-02-21.txt

期望结果

可以正确添加带大写字母的路径

解决方案(可选)

No response

操作系统 && Rainbond 版本

OpenCloudOS 9.2, K8s 1.30.4+rke2r1, Rainbond v6.1.2-release

是否愿意提交 PR 解决该问题?

Issues-translate-bot commented 2 months ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Title: 🐞 Feedback problem: When adding a multi-level path or an overly long first-level path will be reported as "route not found"

Please confirm the following:

Question description

When adding a new route to the route management in gateway management, when configuring multi-level paths or single-level paths in the path column, if there are capital letters in the path, click OK, "route not found" will be reported, and it cannot be new Increase routing.

For example: Single-level path: /testgetuserapi This path can be added normally, but if it is /Testgetuserapi or /testgetUserapi or /test/GetUserapi, it cannot be added

Multi-level path: /test/get/user/api path can be added normally, but if it is /Test/get/user/api or /test/get/User/api or /test/Get/User/api, it cannot be added

Can this problem be reproduced stably?

Reproducible

Reproduce steps

Select any service and click Gateway Management --> Routing Management --> HTTP --> Add a route --> Enter a domain name --> Enter a single-level or multi-level path with pure lowercase letters to add it, which is doped with uppercase If the letters are given, it will be reported as "route not found".

screenshot

The paths of lowercase letters can be added normally: Image

The path of capital letters cannot be added: Image

Image

log

2025-02-21.txt

Expected results

The path with capital letters can be added correctly

Solution (optional)

No response

Operating System && Rainbond Version

OpenCloudOS 9.2, K8s 1.30.4+rke2r1, Rainbond v6.1.2-release

Are you willing to submit a PR to resolve this issue?

zzzhangqi commented 1 month ago

@Hanxc-erds 确认是 Bug,会在下个版本正式发布。临时解决,修改 rbd-api 镜像

$ kubectl edit rbdcomponent rbd-api -n rbd-system
sepc:
  image: registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-api:v6.1.3-dev