![](/img/trans.png)
[英]AWS EKS WITH FARGATE PROFILE USING KONG INGRESS- Unable to expose port 80 to public
[英]Using Kong with AWS EKS
我已經使用 Helm 在 AWS 上部署了 Kong。 需要終止 LoadBalancer 上的 SSL。 HTTP 請求有效。 HTTPS 請求因“400 Bad Request - The plain HTTP request was sent to HTTPS port”錯誤而失敗。
如何配置 Kong Proxy/LB 才能正常工作? 我可以使用 LB 后面的 HTTP 或 HTTPS 連接。 但是,要求在 LB 上終止 SSL。
另一個問題是這會創建一個帶有隨機 DNS 名稱的 LB。 嘗試設置service.beta.kubernetes.io/aws-load-balancer-eip-allocations
但它也不起作用。 將域名或 IP 地址“固定”到 LB 的最佳方法是什么?
此外,這會創建一個傳統/經典的 LB。 無法使用 k8s 服務來創建 AWS ALB。
Helm Chart 覆蓋:
proxy:
enabled: true
http:
enabled: true
tls:
enabled: true
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <my-cert-name>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
安裝使用:
$ helm repo add kong https://charts.konghq.com
$ helm repo update
$ helm install kong kong/kong \
--atomic \
-n kong \
-f overrides.yaml
您可能還想在 YAML 中進行設置:
proxy:
enabled: true
http:
enabled: true
servicePort: 80
containerPort: 8000
tls:
enabled: true
overrideServiceTargetPort: 8000 # <===
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <my-cert-name>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
檢查此鏈接以供參考。
如果這會根據請求導致重定向循環,請繼續將此 ENV 變量添加到 Kong 的配置中:
- name: KONG_TRUSTED_IPS
value: 0.0.0.0/0,::/0
@bitsapien 回答了這個問題,但為了完整性將包括我使用的配置(包括 trust_ips 環境變量)
proxy:
enabled: true
http:
enabled: true
servicePort: 80
containerPort: 8000
tls:
enabled: true
overrideServiceTargetPort: 8000
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <the-cert-arn>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
env:
trusted_ips: "0.0.0.0/0,::/0"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.