简体   繁体   English

Kong Ingress cert-manager 路由错误

[英]Kong Ingress cert-manager wrong routing

I have a k8s cluster with kong-ingress and cert-manager.我有一个带有 kong-ingress 和 cert-manager 的 k8s 集群。

  • Backend at: domain.network/* Backend位于: domain.network/*

To renew the certificate, cert-manager starts a new pod and ingress which should reply at:为了更新证书,cert-manager 启动一个新的 pod 和 ingress,它应该回复:

  • CertManagerHandler at: domain.network/.well-known/xxx/zzz CertManagerHandler位于: domain.network/.well-known/xxx/zzz

However, when trying to access the well-known route, Backend handles the request, not CertManagerHandler但是,当尝试访问已知路由时, Backend处理请求,而不是CertManagerHandler

I think it might come from the * in the path of Backend but I'm not sure.我认为它可能来自Backend路径中的*但我不确定。

入口

I defined Backend ingress with:我定义了Backend入口:

  annotations:
    kubernetes.io/tls-acme: "true"
    acme.cert-manager.io/http01-edit-in-place: "true"
    kubernetes.io/ingress.class: kong
    cert-manager.io/cluster-issuer: letsencrypt-prod

...

http:
        paths:
          - path: /*

How to make the .well-known endpoint to be handled by the cert-manager pod?如何让 .well-known 端点由 cert-manager pod 处理?

I've fixed it by removing the wildcard from the path:我通过从路径中删除通配符来修复它:

  • /* to / /*/

Did the trick.做到了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM