3

我已将 AWS ACM 提供的 SSL 证书附加到 NLB。NLB 会将请求转发到 nginx 入口。Nginx 给我以下错误。The plain HTTP request was sent to HTTPS port. 我在 nginx 入口中设置了以下注释。

  • nginx.ingress.kubernetes.io/force-ssl-redirect: false
  • nginx.ingress.kubernetes.io/ssl-redirect: false

我在 NLB 后面运行的 nginx 入口服务中设置了以下注释。

  • service.beta.kubernetes.io/aws-load-balancer-backend-protocol:http
  • service.beta.kubernetes.io/aws-load-balancer-ssl-cert:“证书
  • arn" service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https
  • service.beta.kubernetes.io/aws-load-balancer-type: nlb
4

1 回答 1

2

对于这个错误:

纯 HTTP 请求被发送到 HTTPS 端口

更改Nginx服务中的端口配置,例如,HTTPS部分中的目标端口应该是http而不是https

ports:
  - name: https
    **targetPort: http**

这里的注释供参考

service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:ap-southeast-1:xxxxxxx:certificate/8991ftt8-69e0-4e7d-1164-yy0aae19da90v
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
于 2022-01-12T07:55:04.580 回答