Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes入口SSL证书问题_Ssl_Kubernetes_Google Cloud Platform_Google Kubernetes Engine - Fatal编程技术网

Kubernetes入口SSL证书问题

Kubernetes入口SSL证书问题,ssl,kubernetes,google-cloud-platform,google-kubernetes-engine,Ssl,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,我的TLS有问题。我已创建我的TLS机密: kubectl create secret tls ingress-tls --key certificate.key --cert certificate.crt 我在进入时使用它: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress annotations: kubernetes.io/ingress.global-static-ip-nam

我的TLS有问题。我已创建我的TLS机密:

kubectl create secret tls ingress-tls  --key certificate.key  --cert certificate.crt
我在进入时使用它:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: "beta"
spec:
  tls:
  - hosts:
    - '*.host.com'
    - 'beta.host.com'
    secretName: ingress-tls
  backend:
    serviceName: nginx
    servicePort: 443
入口是完美创建的,我通过浏览器访问,没有问题,问题是当我做卷发或使用程序邮递员,我得到的证书错误

curl:(60)SSL证书问题:无法获取本地颁发者 更多详细信息,请点击此处:

curl无法验证服务器的合法性,因此可能会失败 没有建立到它的安全连接。了解更多有关此的信息 情况以及如何解决,请访问上述网页 上面

我使用的是GCE驱动程序,它是谷歌云的默认GKE

我一直在阅读如何添加ca密钥,但这个错误并没有得到修复

我做了以下工作:

kubectl create secret generic ca --from-file certificate.ca.crt
我在入口添加了以下注释:

ingress.kubernetes.io/auth-tls-secret: ca
但它不起作用

有人知道如何修复CA证书?。该证书在DonDominio网站上购买,是一个通配符


非常感谢你

问题基本上是我在生成TLS机密时使用的是.crt而不是.pem。通过更改秘密,我使curl将其检测为有效证书

新命令:

kubectl create secret tls ingress-tls --key certificate.key --cert certificate.pem 

感谢@michaelsqlbot

问题基本上是我在生成TLS机密时使用的是.crt而不是.pem。通过更改秘密,我使curl将其检测为有效证书

新命令:

kubectl create secret tls ingress-tls --key certificate.key --cert certificate.pem 

感谢@michaelsqlbot

如果您有.ca bundle+crt文件,请将.ca bundle附加到.crt的末尾,并从新的crt文件中创建secret将解决此问题。这是因为您的入口需要所有立即密钥。

如果您有.ca bundle+crt文件,请将.ca bundle附加到.crt的末尾,并从新的crt文件中创建机密将解决此问题。这是因为进入时需要所有的即时键。

关于旋度问题,请阅读本文。可能是因为您没有在
cert.pem
中包含中间证书链吗?当你购买证书时,你应该已经收到了。哦,是的@michaelsqlbot是这样的,我把.crt改成了.pem,这样就行了!非常感谢你!关于旋度问题,请阅读本文。可能是因为您没有在
cert.pem
中包含中间证书链吗?当你购买证书时,你应该已经收到了。哦,是的@michaelsqlbot是这样的,我把.crt改成了.pem,这样就行了!非常感谢你!谢谢你,伙计!你搞定了,谢谢你!你搞定了。