-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redirect #53
Comments
需求细化同类产品调查本部分主要调研了当前比较流行的两款是Ingress Controller的重定向功能的实现:Nginx Ingress 和 Traefik Ingress。
需求场景分析下面将结合租户使用BFE Ingress重定向的几种具体场景和BFE Ingress实现的可行性进行具体的需求分析。由于BFE Ingress的各种能力本质上是由BFE Engine提供的,所以,在进行需求分析时,必须BFE Engine当前具备的重定向能力。
除了重定向的Location取值,租户也会有自定义重定向返回的状态码。可以考虑将状态码的设置作为可选项。默认设置返回的状态码为302,并允许租户使用注解的方式自定义之。具体地,对于永久重定向需求,租户可以设置状态码为301或308,对于暂时重定向需求,租户可以选择设置状态码为302、303、307。对于各个状态码的具体使用规范,请参考RFC相关文档。 总结
状态码上述状态码是各个场景的默认值,租户可以手动使用注解 |
设计方案主要任务将租户给出的Ingress定义,翻译成BFE Engine的配置文件中的 “源文件”:Ingress定义在本次开发中,Ingress作为“翻译”的“源文件”,我们主要关注两点:
其中,关于Annotation的作用和解释,详见需求部分的讨论。 目标文件:
|
建议补充&更正下场景的描述和分析
bfe.ingress.kubernetes.io/redirect.response-status 是不是表意更明确些?
建议补充相关引用链接 |
建议分类描述,如配置重定向的地址和返回状态码
建议补充主要字段的简单介绍
1 个Ingress 资源文件生成一条 redirect 规则存在隐患,需考虑Ingress场景中路由匹配优先级的因素。
需要结合考虑下 Header、Cookie 甚至未来添加的其他匹配条件
建议补充具体的参数说明 |
背景
BFE 支持对流量进行重定向,希望 bfe-ingress-controller 实现该功能。
配置方式
Ingress 资源内
参考格式:
重定向类型
通过设置重定向返回状态码 bfe.ingress.kubernetes.io/redirect.status ,配置重定向类型
永久重定向
临时重定向
重定向目标
通过特定 annotation 配置重定向目标,可设置为以下模式其中之一:
静态 URL
通过设置 bfe.ingress.kubernetes.io/redirect.target ,配置静态重定向目标URL
对应示例
动态 URL
通过设置 bfe.ingress.kubernetes.io/redirect.cmd 、 bfe.ingress.kubernetes.io/redirect.params ,配置静态重定向目标URL
设置 Scheme
对应示例
从Query中获得URL
对应示例
添加前缀
对应示例
The text was updated successfully, but these errors were encountered: