开发者社区 > 云原生 > 容器服务 > 正文

容器服务ACK alb ingress要同时使用 http转https 和 路由路径重写 功能,?

容器服务ACK alb ingress要同时使用 http转https 和 路由路径重写 功能,有办法同时实现么?

展开
收起
真的很搞笑 2023-07-22 12:40:51 187 0
2 条回答
写回答
取消 提交回答
  • 是的,容器服务ACK中的ALB Ingress控制器支持同时使用HTTP转HTTPS和路由路径重写功能。

    HTTP转HTTPS功能可以通过在Ingress规则中指定tls部分来实现。您可以为每个Ingress规则配置相应的TLS证书,并将tls部分添加到您的Ingress定义中。这样,当请求到达时,ALB Ingress控制器将自动将HTTP流量重定向到HTTPS。

    路由路径重写功能可以通过在Ingress规则的path字段中定义所需的路径重写规则来实现。您可以使用正则表达式或通配符来匹配特定的URL路径,并将其重写为目标路径。

    下面是一个示例Ingress规则,演示了如何同时使用HTTP转HTTPS和路由路径重写功能:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: my-ingress
    spec:
      tls:
      - hosts:
        - example.com
        secretName: my-tls-secret
      rules:
      - host: example.com
        http:
          paths:
          - path: /old-path
            pathType: Prefix
            backend:
              service:
                name: my-service
                port:
                  number: 80
    

    上述示例中,通过在tls部分配置了主机名和TLS证书,实现了HTTP重定向到HTTPS。同时,在rules部分的paths字段中定义了路径重写,将来自example.com/old-path的请求重定向到后端服务my-service

    2023-07-28 10:02:05
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    ACK的ALB Ingress可以同时实现HTTP转HTTPS和路由路径重写两个功能。

    具体配置如下:

    yaml
    Copy
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: test-ingress
    annotations:
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/actions.ssl-redirect: '{
    "Type": "redirect",
    "RedirectConfig": {
    "Protocol": "HTTPS",
    "Port": "443",
    "StatusCode": "HTTP_301"
    }
    }'
    spec:
    rules:

    • host: test.example.com
      http:
      paths:
      • path: /testpath
        backend:
        serviceName: test
        servicePort: 80
    • host: test.example.com
      http:
      paths:
      • path: /
        backend:
        serviceName: test
        servicePort: 443
        主要配置:

    alb.ingress.kubernetes.io/listen-ports:指定ALB监听80和443端口
    alb.ingress.kubernetes.io/scheme:指定为公网型ALB
    alb.ingress.kubernetes.io/actions.ssl-redirect:配置HTTP请求自动转HTTPS
    path:指定路由路径为/testpath
    servicePort:分别指定80和443端口后端服务
    这样就可以实现:

    访问test.example.com/testpath,ALB会转发至80端口服务
    访问test.example.com/ ,ALB会转发至443端口服务
    80端口请求会自动重定向至HTTPS

    2023-07-23 17:17:45
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像