0

0

OpenShift v0.3.3 样例应用中自签名证书验证失败的解决方法

花韻仙語

花韻仙語

发布时间:2026-01-24 10:21:11

|

773人浏览过

|

来源于php中文网

原创

OpenShift v0.3.3 样例应用中自签名证书验证失败的解决方法

本文详解 openshift 0.3.3 `sample-app` 部署过程中因工作目录错位导致的自签名证书校验失败问题(如 `x509: certificate signed by unknown authority`),并提供精准的目录切换方案与安全实践建议。

在 OpenShift Origin v0.3.3 的早期样例应用(sample-app)部署流程中,一个极易被忽略却至关重要的细节是命令执行路径。错误通常表现为以下两类典型报错:

x509: certificate signed by unknown authority

例如运行以下命令时:

openshift ex policy add-user view anypassword:test-admin
# 或
openshift ex registry --create --credentials="${KUBECONFIG}"

根本原因并非证书本身无效或未被信任,而是 OpenShift 客户端(openshift 二进制)默认尝试从当前工作目录下加载本地生成的 TLS 证书与密钥(如 openshift.local.config/master/ca.crt、admin.kubeconfig 等)。而官方文档中的步骤存在隐式路径依赖:

  • 可选步骤 1(生成配置与证书):需在 origin/examples/sample-app/ 子目录中执行(例如 ./setup.sh),此时证书将生成于该目录下的 openshift.local.config/;
  • 后续步骤 4 及之后的 CLI 命令(如 openshift ex policy、openshift ex registry):文档默认假设你已返回 origin/ 根目录(即 openshift 二进制所在位置),并期望从 origin/openshift.local.config/ 加载证书。

⚠️ 若你在 sample-app/ 目录中生成了证书,却在 origin/ 根目录下运行命令,客户端将无法定位正确的 CA 证书,从而拒绝连接本地 https://localhost:8443 —— 这正是 x509: certificate signed by unknown authority 的真实来源。

✅ 正确做法是严格统一工作目录

蕉点AI
蕉点AI

AI电商商品图生成平台 | 智能商品素材制作工具

下载
  1. 进入样例应用目录并完成初始化:

    cd origin/examples/sample-app/
    ./setup.sh  # 此步生成 openshift.local.config/
  2. 所有后续 OpenShift CLI 命令必须在此目录(sample-app/)中执行

    # ✅ 正确:证书路径可被自动识别
    ../openshift ex policy add-user view anypassword:test-admin
    
    # ✅ 正确:使用相对路径调用二进制,且当前目录含有效配置
    ../openshift ex registry --create --credentials="openshift.local.config/master/admin.kubeconfig"

? 补充建议:

  • 不要通过注释 Fatal() 或跳过证书校验来“绕过”错误——这会破坏集群安全性,且掩盖根本问题;
  • 不推荐手动修改系统 CA 信任库(如向 /etc/pki/tls/certs/ca-bundle.crt 添加证书),因为 OpenShift 自签名证书仅对本机调试有效,且应由客户端配置而非系统级信任;
  • 检查当前使用的 kubeconfig 是否指向正确证书:
    grep "certificate-authority:" openshift.local.config/master/admin.kubeconfig
    # 应输出类似:certificate-authority: openshift.local.config/master/ca.crt

总结:该问题本质是路径敏感型配置管理问题,而非证书信任配置问题。遵循「在哪生成,就在哪运行」原则,即可彻底规避自签名证书校验失败,无需修改源码、不需调整系统证书库,安全、简洁、符合 OpenShift 设计预期。

相关专题

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

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

2035

2024.08.16

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

17

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

91

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

124

2026.01.23

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

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

14

2026.01.23

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

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

65

2026.01.22

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

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

59

2026.01.22

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

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

61

2026.01.22

热门下载

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

精品课程

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

共578课时 | 50.2万人学习

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

共12课时 | 1.0万人学习

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

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