【发布时间】:2018-08-04 17:47:01
【问题描述】:
上下文
我正在从传统的 docker 主机迁移到 kubernetes 集群。
我希望在迁移期间继续提供服务。
为此,我将本地 nginx 代理到远程 ingress-nginx。然后,我更新 dns 记录。这是一个不错的设置,原因有两个:
- 在 dns 传播时流量继续流动
- 我可以在 ingress-nginx 中生成一个 let's encrypt 证书,因此一旦 dns 传播,我的客户就会得到适当的证书
在不生成证书的同时,nginx 将获得默认的自签名证书。我知道,所以我想对此进行验证,但我无法做到。
最小问题
无需过多讨论 nginx 配置,我们可以仅使用 curl 重现该问题。
这就是我获取远程自签名证书的方式:
openssl s_client -showcerts -servername standard.ingress.indie.host -connect standard.ingress.indie.host:443 < /dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > server.pem
我希望以下命令能够工作:
curl --cacert ./server.pem https://standard.ingress.indie.host
但它没有..我想知道我做错了什么,如果你能帮忙,那就太棒了!谢谢!
PS:这是真正的主机,所以你可以测试,问题是实时的。
【问题讨论】:
标签: curl nginx kubernetes kubernetes-ingress