更新时间:2024-05-09 GMT+08:00

ELB Ingress配置HTTP重定向到HTTPS

Ingress支持将HTTP协议的访问请求转发至HTTPS协议的监听器上。配置Ingress重定向到重定向到HTTPS的示例如下,本示例将访问example.com/test的HTTP请求重定向至HTTPS 443端口。

约束与限制

  • ELB Ingress高级转发策略仅支持使用独享型ELB。
  • ELB Ingress高级转发策略支持的集群版本为v1.23.14-r0、v1.25.9-r0、v1.28.4-r0及以上。

使用YAML配置HTTP重定向到HTTPS

Ingress重定向到监听器可通过注解实现,示例如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-redirect-listener
  namespace: default
  annotations:
    kubernetes.io/elb.id: df76342f-e898-402a-bac8-bde5bf974da8
    kubernetes.io/elb.class: performance
    kubernetes.io/elb.listen-ports: '[{"HTTP":80},{"HTTPS":443}]'             # 多端口配置
    kubernetes.io/elb.ssl-redirect: 'true'        # 开启HTTP重定向到HTTPS
    kubernetes.io/elb.tls-certificate-ids: 6cfb43c9de1a41a18478b868e34b0a82       # HTTPS监听器服务端证书
spec:
  rules:
    - host: ''
      http:
        paths:
          - path: /
            backend:
              service:
                name: test-service
                port:
                  number: 8888
            property:
              ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
            pathType: ImplementationSpecific
  ingressClassName: cce
表1 关键参数说明

参数

是否必填

参数类型

描述

kubernetes.io/elb.listen-ports

string

多端口监听配置,配置后不支持修改。

格式说明:json字符串格式,例如:

[{"HTTP":80},{"HTTPS":443}]

参数说明:端口号范围 1~65535

kubernetes.io/elb.ssl-redirect

string

是否开启HTTP重定向到HTTPS。

格式说明:支持字段 "true" 和 "false"

参数说明:"true" 表示开启重定向能力,"false"或参数不存在表示不开启重定向能力

该注解不能和灰度发布的注解一起配置。