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

nmpmafwu  于 2024-01-06  发布在  Kubernetes
关注(0)|答案(1)|浏览(175)

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

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. labels:
  5. app: ledger-admin
  6. name: ledger-admin
  7. annotations:
  8. service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
  9. service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
  10. service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:52943:certificate/01143f-XXX
  11. service.beta.kubernetes.io/aws-load-balancer-name: admin-test-com
  12. external-dns.alpha.kubernetes.io/hostname: admin.test.com
  13. alb.ingress.kubernetes.io/ssl-redirect: '443'
  14. spec:
  15. ports:
  16. - name: http
  17. port: 80
  18. targetPort: 80
  19. - name: https
  20. port: 443
  21. targetPort: 80
  22. selector:
  23. app: ledger-admin
  24. type: LoadBalancer

字符串
我试着加上注解

  1. 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"

相关问题