You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
自定义转发规则配置示例
配置转发流量重定向
复制全文
下载 pdf
配置转发流量重定向
ALB Ingress 支持配置流量重定向,当请求经过 ALB 时,ALB 可以将特定的访问请求重定向至指定的路径。​
注意​
配置 ALB Ingress 前,请务必仔细阅读 ALB Ingress 使用注意事项。​
前提条件​
  • 已安装 alb-ingress-controller 组件,并升级至 v0.35.0 及以上版本。详情请参见 升级组件。​
使用限制​
  • 不同 ALB 实例类型支持的配置方式不同:​
  • 标准版:支持通过控制台或 YAML 配置。​
  • 基础版:仅支持通过 YAML 配置。​
  • 一条转发规则中仅允许配置一个 重定向至 转发动作。​
操作步骤​
通过控制台配置​
说明​
仅对接 ALB 标准版时支持使用控制台配置,如需对接 ALB 基础版,请参见下文中的 YAML 配置。​
  1. 单击左侧导航栏中的 集群。​
  1. 在集群列表页面,单击需要配置路由规则的目标集群。​
  1. 在集群管理页面的左侧导航栏中,选择 服务与路由 > 路由规则,单击 创建路由规则。​
  • 在 Ingress 类型 配置项中,选择 应用型负载均衡 ALB。​
  • 在 自定义转发规则 配置项中,勾选 启用,开启自定义转发规则,并配置转发规则详情。​
​​​
​
配置项​
说明​
转发条件​
配置转发条件,包括 域名、路径 和 HTTP 标头。​
  • 转发条件允许单独配置,也可以组合配置。当配置多个转发条件组合时,这些转发条件之间是 且 的关系。例如,假设您在一条转发规则中同时配置了域名和路径,只有同时匹配指定域名和路径的请求,才会匹配这条转发规则。​
  • 同一转发条件下允许配置多个值,这些值之间是 或 的关系。例如,假设您在域名转发条件下配置了多个值,当请求的域名匹配其中任何一个值时,即满足该转发条件。​
转发动作​
转发动作选择 重定向至,并配置重定向规则。​
  • 协议:重定向使用的协议,支持 HTTP、HTTPS。​
  • 域名:重定向域名。仅支持精确域名。若未配置,则默认与请求域名保持一致。​
  • 端口:重定向端口。取值范围为 1~65535。若未配置,则默认与请求端口保持一致。​
  • URI:重定向 URI。必须以正斜线/开头。仅允许包含字母、数字、-、_、/、.、%、?、#、&、=等字符。长度限制为 1~128 个字符。若未配置,则默认与请求 URI 保持一致。​
  • 状态码:重定向状态码,支持301、302、307、308。​
​
  1. 单击 确定,完成配置。​
通过 kubectl 命令行配置​
注意​
当您同时进行了详细配置和快捷配置,转发将以详细配置为主。​
详细配置​
ALB Ingress 支持通过 Annotation 配置转发流量重定向规则。对接 ALB 标准版和基础版时的配置略有不同。​
​
ALB 标准版
ALB 基础版
​
ALB 标准版的配置示例和注解说明,如下所示:​
注意​
注解中的{{service-name}}字段必须与spec.rules中配置的后端服务名称对应一致,例如在本例中,正确的注解为ingress.vke.volcengine.com/loadbalancer-actions.service-demo。​
​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: alb-ingress # 自定义路由规则名称​
namespace: default # 路由规则所属的命名空间​
annotations:​
ingress.vke.volcengine.com/loadbalancer-actions.{{service-name}}: | # {{service-name}} 需要替换为服务的名称​
[​
{​
"type": "Redirect",​
"redirectConfig": {​
"host": "example.com",​
"path": "/",​
"httpCode": "301",​
"port": 443,​
"protocol": "HTTPS"​
}​
}​
]​
spec:​
ingressClassName: alb​
rules:​
- host: example.com​
http:​
paths:​
- pathType: Prefix​
path: /​
backend:​
service:​
name: service-demo # 服务名称,注意需要和注解 loadbalancer-actions.{{service-name}} 里的 {{service-name}} 一致​
port:​
name: use-annotation # 固定值,配置重定向时,port.name 必须为 use-annotation​
tls:​
- hosts:​
- example.com​
secretName: example-tls-secret # 存放证书的 Secret名称​
​
ingress.vke.volcengine.com/loadbalancer-actions.{{service-name}}注解中的参数说明如下表所示。​
​
字段​
类型​
描述​
默认值​
type​
String​
自定义转发规则的动作类型,当配置重定向时,必须配置为Redirect。​
无​
redirectConfig.host​
String​
重定向域名。仅支持精确域名。​
无​
redirectConfig.path​
String​
重定向 URI。必须以正斜线/开头。仅允许包含字母、数字、-、_、/、.、%、?、#、&、=等字符。长度限制为 1~128 个字符。​
无​
redirectConfig.httpCode​
String​
重定向状态码,支持301、302、307、308。​
无​
redirectConfig.port​
Integer​
重定向端口。取值范围为 1~65535。​
无​
redirectConfig.protocol​
String​
重定向使用的协议,支持 HTTP、HTTPS。​
无​
​
​
​
快捷配置​
ALB Ingress 支持通过 Annotation 快速配置 HTTP 重定向至 HTTPS。​
注意​
  • alb-ingress-controller 组件需升级至 v0.40.0 及以上版本。​
  • 快捷配置仅支持 HTTP 的 80 端口重定向至 HTTPS,需配置在监听端口为 80 的转发规则上。​
  • 创建的 ALB Ingress 需要配置 HTTPS 的 443 端口监听。​
​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: alb-ingress # 自定义路由规则名称​
namespace: default # 路由规则所属的命名空间​
annotations:​
ingress.vke.volcengine.com/ssl-redirect: "true" # 开启 HTTP 重定向至 HTTPS​
spec:​
ingressClassName: alb​
rules:​
- host: example.com​
http:​
paths:​
- pathType: Prefix​
path: / # 请求匹配的路径​
backend:​
service:​
name: service-demo # 服务名称​
port:​
number: 80 # 服务的端口号​
​
结果验证​
查看配置​
说明​
ALB 标准版和基础版的转发规则详情界面略有不同,本文以查看 ALB 标准版界面为例。​
  1. 单击左侧导航栏中 实例管理,在实例列表中选择目标 ALB 实例,在 操作 栏中单击 配置监听器。​
  • ​alt​​
  1. 在 监听器 页面中,选择目标监听器,在 操作 栏中单击 编辑转发规则,查看当前监听器的转发规则。可以看到新增的重定向转发规则。​
  • ​​​
  1. 单击转发规则中的 ​alt​,支持查看规则详情。规则配置详情,应该与下发的规则一致。​
  • ​​​
访问验证​
说明​
验证功能前,您需要在集群中部署后端应用和服务。本例中以 nginx 镜像,服务提供路径为/为例。部署方式可参见 使用 ALB Ingress 实现业务发布。​
使用 ALB Ingress 中配置的域名访问服务。其中14.***.***.***为 ALB 公网 IP 地址。​
​
curl -H "Host: example.com" http://14.***.***.***​
​
预期结果如下,当通过 HTTP 协议访问域名example.com时,ALB Ingress 会将访问流量重定向到 HTTPS 接口,并正确访问到后端的服务。​
​
<!DOCTYPE html>​
<html>​
<head>​
<title>Welcome to nginx!</title>​
<style>​
html { color-scheme: light dark; }​
body { width: 35em; margin: 0 auto;​
font-family: Tahoma, Verdana, Arial, sans-serif; }​
</style>​
</head>​
<body>​
<h1>Welcome to nginx!</h1>​
<p>If you see this page, the nginx web server is successfully installed and​
working. Further configuration is required.</p>​
​
<p>For online documentation and support please refer to​
<a href="http://nginx.org/">nginx.org</a>.<br/>​
Commercial support is available at​
<a href="http://nginx.com/">nginx.com</a>.</p>​
​
<p><em>Thank you for using nginx.</em></p>​
</body>​
</html>​
​
​
最近更新时间:2026.10.12 17:25:47
这个页面对您有帮助吗?
有用
有用
无用
无用