ssl - 与从我的客户端机器进行端口转发相比,在应用程序容器内运行 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
它显示一个过期的证书。我错过了什么吗?
解决方案
进行端口转发时,您将获得本地主机证书,很可能是位于端口转发前面的 apiserver 的证书 + kubectl 创建的本地服务器。
您是否有允许 localhost 成为可接受的主机名的证书?
请记住,您正在使用 https://localhost 上的服务,您的应用程序可能未配置为接受此类源。
推荐阅读
- azure - DevOps 管道构建不会复制解决方案文件夹结构
- tensorflow - TensorFlow 对象检测 API:使用“fine_tune_checkpoint”进行训练 - 解冻较早的层?
- tsql - SQL Server:让 DATETIME 持续 30 分钟
- kubernetes - 在 ubuntu 上的自托管 gitlab 上安装 kubectl 时出错
- gradle - gradle 是声明式还是命令式构建工具?
- angular - 如何修复Angular中的“无法读取未定义的属性'forEach'”错误
- c - ODROID-C2上的wiringPi库的问题-未在此范围内声明的函数
- javascript - tfjs 用滑动窗口预测
- javascript - MongoDB聚合基于同一集合中的文档增加价值
- prolog - 在 prolog 中表示线性函数