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

容器服务

复制全文
下载 pdf
Nginx Ingress
Nginx Ingress 配置重定向规则
复制全文
下载 pdf
Nginx Ingress 配置重定向规则
Nginx Ingress 支持重定向功能,包括永久重定向和临时重定向,也支持将 HTTP 重定向为 HTTPS。本文为您介绍如何配置 Nginx Ingress 重定向功能。​
注意​
Nginx Ingress 功能即将下线,详情请参见 【产品公告】NGINX Ingress 停止维护公告。​
前提条件​
  • 已安装 ingress-nginx 组件。详情请参见 安装组件。​
配置永久重定向​
Nginx Ingress 支持通过 Annotation 配置永久重定向,示例和说明如下:​
​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: nginx-ingress # 路由规则的名称​
annotations:​
nginx.ingress.kubernetes.io/permanent-redirect: "https://www.volcengine.com" # 重定向到指定的目标网站​
spec:​
ingressClassName: nginx # 指定 Ingress Controller​
rules:​
- host: example.com # 转发规则域名​
http:​
paths:​
- backend:​
service:​
name: service-demo # 请求被转发到的目标服务名称​
port:​
number: 80 # 请求被转发到的目标服务开放端口号​
path: / # 访问路径​
pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)​
​
Annotation 说明如下表所示。​
​
字段​
类型​
是否必须​
描述​
默认值​
nginx.ingress.kubernetes.io/permanent-redirect​
String​
是​
重定向的目标网站地址。​
无​
​
说明​
默认情况下,永久重定向的返回状态码为301。​
配置永久重定向返回状态码​
Nginx Ingress 支持通过 Annotation 配置永久重定向并指定返回状态码,示例和说明如下:​
​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: nginx-ingress # 路由规则的名称​
annotations:​
nginx.ingress.kubernetes.io/permanent-redirect: "https://www.volcengine.com" # 重定向到指定的目标网站​
nginx.ingress.kubernetes.io/permanent-redirect-code: "308" # 重定向返回状态码​
spec:​
ingressClassName: nginx # 指定 Ingress Controller​
rules:​
- host: example.com # 转发规则域名​
http:​
paths:​
- backend:​
service:​
name: service-demo # 请求被转发到的目标服务名称​
port:​
number: 80 # 请求被转发到的目标服务开放端口号​
path: / # 访问路径​
pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)​
​
Annotation 说明如下表所示。​
​
字段​
类型​
是否必须​
描述​
默认值​
nginx.ingress.kubernetes.io/permanent-redirect​
String​
是​
重定向到指定的网站。​
无​
nginx.ingress.kubernetes.io/permanent-redirect-code​
String​
是​
指定重定向返回状态码。取值:301或308。​
无​
​
配置临时重定向​
Nginx Ingress 支持通过 Annotation 配置临时重定向,示例和说明如下:​
​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: nginx-ingress # 路由规则的名称​
annotations:​
nginx.ingress.kubernetes.io/temporal-redirect: "https://www.volcengine.com" # 重定向到指定的目标网站​
spec:​
ingressClassName: nginx # 指定 Ingress Controller​
rules:​
- host: example.com # 转发规则域名​
http:​
paths:​
- backend:​
service:​
name: service-demo # 请求被转发到的目标服务名称​
port:​
number: 80 # 请求被转发到的目标服务开放端口号​
path: / # 访问路径​
pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)​
​
Annotation 说明如下表所示。​
​
字段​
类型​
是否必须​
描述​
默认值​
nginx.ingress.kubernetes.io/temporal-redirect​
String​
是​
重定向到指定的网站。​
无​
​
配置 HTTP 重定向到 HTTPS​
Nginx Ingress 支持通过 Annotation 配置 HTTP 重定向到 HTTPS,示例和说明如下:​
​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: nginx-ingress # 路由规则的名称​
annotations:​
nginx.ingress.kubernetes.io/ssl-redirect: "true" # 开启 HTTP 重定向到 HTTPS​
spec:​
ingressClassName: nginx # 指定 Ingress Controller​
rules:​
- host: example.com # 转发规则域名​
http:​
paths:​
- backend:​
service:​
name: service-demo # 请求被转发到的目标服务名称​
port:​
number: 80 # 请求被转发到的目标服务开放端口号​
path: / # 访问路径​
pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)​
​
Annotation 说明如下表所示。​
​
字段​
类型​
是否必须​
描述​
默认值​
nginx.ingress.kubernetes.io/ssl-redirect​
Boolean​
是​
是否将 HTTP 请求重定向至 HTTPS。取值:​
  • true:开启将 HTTP 请求重定向至 HTTPS。​
  • false:关闭将 HTTP 请求重定向至 HTTPS。​
无​
​
结果验证​
以永久重定向为例,使用以下命令访问服务。其中180.xxx.xxx.xxx为 Nginx Ingress 对应 CLB 的公网或私网 IP 地址。​
​
curl -H "Host: example.com" http://180.xxx.xxx.xxx -I -k​
​
预期输出如下,可以看到重定向信息。​
​
HTTP/1.1 301 Moved Permanently​
Date: Thu, 07 Dec 2023 06:56:48 GMT​
Content-Type: text/html​
Content-Length: 162​
Connection: keep-alive​
Location: https://www.volcengine.com​
​
​
最近更新时间:2026.04.07 14:29:43
这个页面对您有帮助吗?
有用
有用
无用
无用