1.3. 为旧 HTTPS 证书扫描 RHOSP 端点
从 OpenShift Container Platform 4.10 开始,HTTPS 证书必须包含主题替代名称(SAN)字段。运行以下脚本,为仅包含 CommonName
字段的传统证书在 Red Hat OpenStack Platform(RHOSP)目录中扫描每个 HTTPS 端点。
OpenShift Container Platform 在安装或升级前不会检查底层 RHOSP 基础架构是否有旧证书。使用提供的脚本来自行检查这些证书。在安装或升级集群前无法更新旧证书将导致集群无法正常工作。
先决条件
在运行脚本的机器中,有以下软件:
- Bash 版本 4.0 或更高版本
-
grep
- OpenStack 客户端
-
jq
- openssl 版本 1.1.1l 或更高版本
- 使用目标云的 RHOSP 凭证填充机器。
流程
将以下脚本保存到机器中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。
-
将脚本报告为
INVALID
的任何证书替换为包含 SAN 字段的证书。
在安装 OpenShift Container Platform 4.10 之前,您必须替换所有旧的 HTTPS 证书,或将集群更新至该版本。旧证书将被拒绝,并显示以下信息:
x509: certificate relies on legacy Common Name field, use SANs instead
x509: certificate relies on legacy Common Name field, use SANs instead
1.3.1. 手动为旧 HTTPS 证书扫描 RHOSP 端点 复制链接链接已复制到粘贴板!
从 OpenShift Container Platform 4.10 开始,HTTPS 证书必须包含主题替代名称(SAN)字段。如果您无法访问 "Scanning RHOSP 端点用于旧 HTTPS 证书"中列出的预备工具,请执行以下步骤为仅包含 CommonName
字段的传统证书扫描 Red Hat OpenStack Platform (RHOSP)目录中的每个 HTTPS 端点。
OpenShift Container Platform 在安装或升级前不会检查底层 RHOSP 基础架构是否有旧证书。使用以下步骤自己检查这些证书。在安装或升级集群前无法更新旧证书将导致集群无法正常工作。
流程
在命令行中运行以下命令查看 RHOSP 公共端点的 URL:
openstack catalog list
$ openstack catalog list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录命令返回的每个 HTTPS 端点的 URL。
对于每个公共端点,请注意主机和端口。
提示通过删除方案、端口和路径来确定端点的主机。
对于每个端点,运行以下命令来提取证书的 SAN 字段:
设置
host
变量:host=<host_name>
$ host=<host_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置
port
变量:port=<port_number>
$ port=<port_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果端点的 URL 中没有包括端口,使用值
443
。检索证书的 SAN 字段:
openssl s_client -showcerts -servername "$host" -connect "$host:$port" </dev/null 2>/dev/null \ | openssl x509 -noout -ext subjectAltName
$ openssl s_client -showcerts -servername "$host" -connect "$host:$port" </dev/null 2>/dev/null \ | openssl x509 -noout -ext subjectAltName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
X509v3 Subject Alternative Name: DNS:your.host.example.net
X509v3 Subject Alternative Name: DNS:your.host.example.net
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于每个端点,查找类似于上例的输出。如果没有端点的输出,则该端点的证书无效,必须重新发布。
在安装 OpenShift Container Platform 4.10 之前,您必须替换所有旧的 HTTPS 证书,或将集群更新至该版本。旧证书被拒绝,并显示以下信息:
x509: certificate relies on legacy Common Name field, use SANs instead
x509: certificate relies on legacy Common Name field, use SANs instead