用户指南

最佳实践

API 文档

Ingress 重定向

最近更新时间:2021-08-27 14:58:26

简介

域名重定向,指当用户通过浏览器访问某个 URL 时,Web 服务器被设置自动跳转到另外一个 URL。

应用场景

  • 网站支持 HTTP 和 HTTPS,例如 http://tencent.comhttps://tencent.com 需要访问到同一个 Web 服务。
  • 网站更换过域名,例如 https://tengxun.com 更换为 https://tencent.com,两个域名访问到同一个 Web 服务。
  • 网站部分内容做过调整,原始 URL 已经无法访问,可以重定向到一个新的提供服务的 URL。
注意
  • 当用户使用重定向后,将会多出如下一条注解,该注解表明 Ingress 的转发规则由 TKE 管理,后期不能被删除和修改,否则将和 CLB 侧设置的重定向规则冲突。
    ingress.cloud.tencent.com/rewrite-support: "true"
  • 假设用字母表示域名地址,若 A 已经重定向至 B,则:
    • A 不能再重定向至 C(除非先删除旧的重定向关系,再建立新的重定向关系)。
    • B 不能重定向至任何其他地址。
    • A 不能重定向到 A。

重定向有如下两种方式:

  • 自动重定向:用户需要先创建出一个 HTTPS:443 监听器,并在其下创建转发规则。通过调用本接口,系统会自动创建出一个 HTTP:80 监听器(如果之前不存在),并在其下创建转发规则,与 HTTPS:443 监听器下的域名等各种配置对应。
  • 手动重定向:用户手动配置原访问地址和重定向地址,系统自动将原访问地址的请求重定向至对应路径的目的地址。同一域名下可以配置多条路径作为重定向策略,实现 HTTP 和 HTTPS 之间请求的自动跳转。

注意事项

  • 若您没有 TKE Ingress 重定向注解声明,会兼容原有不管理重定向规则的逻辑,即:您可以在负载均衡 CLB 的控制台里面配置重定向规则,TKE Ingress不处理用户在 CLB 控制台配置的这些重定向规则。
  • 若您没有 TKE Ingress 重定向注解声明,因为 CLB 的重定向保护限制,如果转发配置 A 重定向到转发配置 B,此时无法直接删除转发配置 B,必须先删掉该重定向规则,才能删除转发配置 B。
  • 若您使用 TKE Ingress 重定向注解声明,CLB 下所有重定向规则都是由 TKE Ingress 管理,所有重定向规则仅在 TKE Ingress 里面的相关 Annotation 里面生效,此时用户在 CLB 控制台如果修改重定向配置,最终会被 TKE Ingress 里配置的重定向规则覆盖。

操作步骤

Ingress 支持通过控制台和 YAML 两种方式进行重定向,具体步骤如下:

  1. 登录 容器服务控制台,选择左侧导航栏中的集群
  2. 在“集群管理”页面,选择需修改 Ingress 的集群 ID。
  3. 在集群详情页,选择左侧服务与路由 > Ingress。如下图所示:
  4. 单击新建,在“新建 Ingress”页面中配置相关重定向规则。配置规则说明如下:
    • :不使用重定向规则。
    • 手动:会在“转发配置”下方出现一栏“重定向转发配置”。
      • 转发配置”里面填写的方式和普通 Ingress 的转发配置一样,后端是某个服务。
      • 重定向转发配置”里面填写的方式和普通 Ingress 的转发配置一样,但后端是某个“转发配置”里的某条路径。
    • 自动:仅对“转发配置”里的协议为 “HTTPS” 的路径生效,都将自动生成一个 “HTTP” 的路径,路径完全一样,只有协议不一样。“HTTP” 的路径的转发规则自动重定向到 “HTTPS” 的路径。
目录