ssl - Kubernetes Ingress SSL 证书问题

标签 ssl kubernetes google-cloud-platform google-kubernetes-engine

我的 TLS 有问题。我创建了我的 TLS secret :

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

我在 ingress 中使用它:

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 或使用程序 postman 时出现问题,我收到证书错误。

curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

我正在使用 GCE 驱动程序,它是来自谷歌云的默认 GKE。

我一直在阅读如何添加 ca key ,但此错误并未修复。

我做了以下事情:

kubectl create secret generic ca --from-file certificate.ca.crt

并且我在 ingress 中添加了以下注释:

ingress.kubernetes.io/auth-tls-secret: ca

但是不工作。

有谁知道如何修复 CA 证书?该证书是在 DonDominio 网站上购买的,它是一个 Wildcard。

最佳答案

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

新命令:

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

感谢@Michael-sqlbot!

关于ssl - Kubernetes Ingress SSL 证书问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717348/

相关文章:

kubernetes - HPA无法从自定义指标API中获取指标

docker - "mkdir vault: permission denied"将 docker-vault 与 kubernetes 一起使用时

kubernetes - 在具有特定标签的节点上获取 pod

linux - 如何为谷歌云实例设置变量名

reactjs - 如何在 Chrome 扩展程序中启用“使用 Google 登录”?

ssl - Nginx: NonWWW (80) 和重写一个子域 (443)

cordova - 使用 Edge(使用 Cordova)、signalr 和 OWIN self 主机建立 HTTPS 连接的问题

amazon-web-services - CodenameOne 移动应用抛出 SSL 异常连接到使用真实证书(非自签名)的 https 服务器

SSL上的JavaMail IMAP非常慢 - 批量获取多条消息

google-cloud-platform - "/cloud_sql_proxy": no such file or directory: unknown