gpt4 book ai didi

当应用程序在端口 80 上时,Kubernetes 负载均衡器重定向到 HTTPs

转载 作者:行者123 更新时间:2023-12-02 12:05:26 27 4
gpt4 key购买 nike

我已经使用负载均衡器将一系列部署和服务部署到了 Kubernetes 集群。当我尝试访问我的应用程序时,这不起作用,因为我的应用程序在端口 80 上公开,但 URL 始终重定向到端口 443 (HTTPS)。我怀疑这与集群 IP 在端口 443 上的事实有关。

关于如何解决这个问题的任何想法?

db           NodePort       10.245.175.203   <none>           5432:30029/TCP   25m
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 8m
redis NodePort 10.245.197.157 <none> 6379:31277/TCP 25m
web LoadBalancer 10.245.126.122 123.12.123.123 80:31430/TCP 25m

最佳答案

这可能是由于您的应用程序本身重定向到端口 443 .它是什么类型的应用程序?

此服务暴露在端口 443与您的申请无关:

kubernetes   ClusterIP      10.245.0.1       <none>           443/TCP          8m

它基本上是一个内部服务,允许您访问集群中的 kube-apiserver。

您可以尝试设置 LoadBalancer监听端口 443直接地。只有你需要移植 80交通不通。如果你想要端口 80重定向到工作 我建议你使用 Ingress Controller 如 nginx .像这样的东西:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: your-ingress
annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
tls:
- hosts:
- yourhostname.com
secretName: tls-secret
rules:
- host: yourhostname.com
http:
paths:
- path: /
backend:
serviceName: web
servicePort: 443

您还必须创建一个 TLS secret 来保存您的证书和 key :
$ kubectl create secret tls tls-secret --key /tmp/tls.key --cert /tmp/tls.crt

关于当应用程序在端口 80 上时,Kubernetes 负载均衡器重定向到 HTTPs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859518/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com