我在我的EKS集群中运行argo cd,现在我想在顶部有DNS名称,以便我可以使用域轻松访问它。
我能够配置,但当我在浏览器中访问url时,它总是转到https(非安全)模式。我在这里看到了一些相同的问题,但没有直接的关系。
下面是我尝试过的入口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd
namespace: argocd
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nignx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
ingressClassName: nginx
rules:
- host: argocd.example.com
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: argocd-server
port:
number: 443
tls:
- hosts:
- argocd.example.com
secretName: argocd-secret
如果我试图删除注释nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
,然后我得到一个不同的错误,这是在循环中相关的重定向。
我不确定我还需要在这里添加什么,以便它可以路由到https
而不是http
nginx.ingress.kubernetes.io/ssl-passthrough
工作在TCP级别,而不是HTTP级别。因此,nignx.ingress.kubernetes.io/force-ssl-redirect
应该被ssl-passthrough
注释无效。
查看更多信息:https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md#ssl-passthrough
尝试删除ssl-passthrough
注释,它应该像预期的那样工作。