0

0

OpenShift v0.3.3 自签名证书错误的根源与正确解决方法

霞舞

霞舞

发布时间:2026-01-24 17:42:25

|

772人浏览过

|

来源于php中文网

原创

OpenShift v0.3.3 自签名证书错误的根源与正确解决方法

本文详解 openshift 0.3.3 样例应用中因工作目录切换不当导致的自签名证书校验失败问题,指出 x509: certificate signed by unknown authority 错误本质是客户端无法定位到生成的本地 ca 证书,核心解法在于严格遵循子目录上下文执行命令。

在 OpenShift Origin v0.3.3 的 sample-app 快速入门流程中,证书相关错误(如 Get https://localhost:8443/...: x509: certificate signed by unknown authority)并非 TLS 配置缺陷或证书损坏,而是典型的路径上下文错位问题。该版本采用分阶段证书生成机制:OpenShift 启动时会在当前工作目录下自动生成一套临时 PKI(含 ca.crt、server.crt、server.key 等),而客户端工具(如 openshift ex policy 和 openshift ex registry)默认从当前目录或 $KUBECONFIG 指向的配置中读取证书信任链。

关键陷阱在于官方文档中隐含的目录依赖关系:

  • 步骤 1(启动 OpenShift 并生成证书):必须在 origin/examples/sample-app/ 目录下执行(例如 ./openshift start --write-config=openshift.local.config),此时证书将生成于该目录下的 openshift.local.config/master/ 子路径中;
  • 步骤 4(执行策略与 registry 命令):若此时已切换至 origin/ 根目录(常见于 make build 后),则 openshift ex 工具将无法自动发现上一步生成的 ca.crt,导致所有 HTTPS 请求因证书不被信任而失败。

正确操作流程如下

WeShop唯象
WeShop唯象

WeShop唯象是国内首款AI商拍工具,专注电商产品图片的智能生成。

下载
# 1. 进入 sample-app 示例目录(务必在此目录执行启动)
cd origin/examples/sample-app/

# 2. 启动 OpenShift 并生成本地配置(证书由此产生)
./openshift start --write-config=openshift.local.config &

# 3. 确保服务就绪后,在同一目录下执行策略命令
openshift ex policy add-user view anypassword:test-admin

# 4. 创建 registry(仍在同一目录!)
openshift ex registry --create --credentials="$(pwd)/openshift.local.config/master/admin.kubeconfig"
⚠️ 注意事项:不要修改源码(如注释 Fatal())或手动编辑证书路径——这会破坏安全模型且不可维护;$KUBECONFIG 环境变量需显式指向 openshift.local.config/master/admin.kubeconfig(推荐使用绝对路径或 $(pwd)/...);若已发生目录错位,可直接复制证书:cp openshift.local.config/master/ca.crt ~/.kube/ca.crt 并在 kubeconfig 中更新 certificate-authority 字段,但推荐重走标准流程以避免状态不一致。

本质上,这是早期 OpenShift 版本对“工作目录即配置根目录”这一约定的强依赖。后续版本(v1.0+)已通过 --master、--certificate-authority 等显式参数解耦路径耦合,但在 v0.3.3 中,坚守目录上下文就是最简洁、最安全的解决方案

相关专题

更多
http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2034

2024.08.16

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

28

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

20

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

52

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java 教程
Java 教程

共578课时 | 50.3万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号