我有一个问题,我想在我的入口配置中使用API网关客户端证书。
kubectl create secret generic api --from-file=api-gateway-client-certificate.crt
--namespace develop
annotations:
nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
nginx.ingress.kubernetes.io/auth-tls-secret: "default/api"
nginx.ingress.kubernetes.io/auth-tls-verify-depth: "1"`
最后我不知道为什么我在入口控制器上出现这个错误:
获取X.509证书时出错:密码“develop / api”不包含密钥对或CA证书
我使用Kubernetes v1.11.1和nginx-ingress-controller v0.17.1
因此,您缺少证书的密钥和/或CA.您是否在AWS中使用私有CA?常规证书管理不会为您提供密钥文件,因为它会在后台创建CSR。
一般来说,你会像这样创建你的秘密:
kubectl -n kube-system create secret tls my-tls-cert --key=tls.key --cert=tls.crt
另外,我会将以-----BEGIN CERTIFICATE-----
开头的CA附加到api-gateway-client-certificate.crt
的内容中
是的你是对的我没有私钥,我使用API网关的客户端证书,它不会让我访问我只有CA的密钥。
我尝试从我的域CA添加私钥,但私钥与公钥https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html#certificate-validation不匹配
我不知道如何添加API网关客户端证书。