kubernetes 无法重定向到EKS负载均衡器的https

nmpmafwu  于 5个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(75)

我无法在我的EKS服务中将流量从http重定向到https。

apiVersion: v1
kind: Service
metadata:
  labels:
    app: ledger-admin
  name: ledger-admin
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:52943:certificate/01143f-XXX
    service.beta.kubernetes.io/aws-load-balancer-name: admin-test-com
    external-dns.alpha.kubernetes.io/hostname: admin.test.com
    alb.ingress.kubernetes.io/ssl-redirect: '443'
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 80
  selector:
    app: ledger-admin
  type: LoadBalancer

字符串
我试着加上注解

alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'


但是它也不起作用。当我直接在地址栏输入https://admin.test.com时,它工作得很好。

rm5edbpk

rm5edbpk1#

K8sService不具备重定向功能。它旨在为拥有临时IP的Pod提供静态IP(或集群IP级别)。它允许Pod在集群中具有服务发现功能。Kubernetes服务对集群是私有的。这意味着只有集群内的应用程序才能访问它们。有很多方法可以解决这个问题,其中最好的方法之一是ingress。
阅读更多:https://kubernetes.io/docs/concepts/services-networking/service/
使用Ingress资源,只需执行"alb.ingress.kubernetes.io/ssl-redirect" = "443"

相关问题