首页 > 解决方案 > 与从我的客户端机器进行端口转发相比,在应用程序容器内运行 openssl 时会显示不同的 SSL 证书

问题描述

我在 pod 内运行的 Kubernetes 上有一个服务设置。该服务在端口 27018 上运行。

如果我 ssh 进入 pod 并运行此命令

openssl s_client -showcerts -servername mydomain.io -connect localhost:
27018 </dev/null

它显示一个有效的证书。

但是,如果我转发此容器并从我的客户端计算机运行相同的命令

openssl s_client -showcerts -servername mydomain.io -connect localhost:
27018 </dev/null

它显示一个过期的证书。我错过了什么吗?

标签: sslazure-aks

解决方案


进行端口转发时,您将获得本地主机证书,很可能是位于端口转发前面的 apiserver 的证书 + kubectl 创建的本地服务器。

您是否有允许 localhost 成为可接受的主机名的证书?

请记住,您正在使用 https://localhost 上的服务,您的应用程序可能未配置为接受此类源。


推荐阅读