第 12 章 在 OpenShift Container Platform 中为 Red Hat Quay 配置自定义 SSL/TLS 证书


当在 OpenShift Container Platform 上部署 Red Hat Quay 时,QuayRegistry 自定义资源定义(CRD)的 tls 组件会被默认设置为 managed因此,OpenShift Container Platform 的证书颁发机构用于创建 HTTPS 端点并轮转 SSL/TLS 证书。

您可以在 OpenShift Container Platform 上的 Red Hat Quay 初始部署前或之后配置自定义 SSL/TLS 证书。这个过程涉及在 QuayRegistry YAML 文件中创建或更新 configBundleSecret 资源,以集成您的自定义证书,并将 tls 组件设置为 unmanaged

重要

为 Red Hat Quay 配置自定义 SSL/TLS 证书时,管理员负责证书轮转。

以下流程允许您应用自定义 SSL/TLS 证书,以确保安全通信,并满足 OpenShift Container Platform 部署中的 Red Hat Quay 的特定安全要求。这些步骤假设您已创建了证书颁发机构(CA)捆绑包或 ssl.key,以及 ssl.cert。然后,流程演示了如何将这些文件集成到 OpenShift Container Platform 部署的 Red Hat Quay 中,以确保 registry 使用指定的安全设置,并符合机构的 SSL/TLS 策略。

注意
  • 以下流程用于使用 HTTPS 证书保护 Red Hat Quay。请注意,这与管理证书颁发机构信任捆绑包不同。CA Trust Bundles 由 Quay 容器中的系统进程用来根据可信 CA 验证证书,并确保 LDAP、存储后端和 OIDC 连接等服务是可信的。
  • 如果要将证书添加到现有部署中,则必须在新配置捆绑包 secret 中包含现有 config.yaml 文件,即使您没有进行任何配置更改。

12.1. 创建证书颁发机构

使用以下步骤设置您自己的 CA,并使用它来为您的域发布服务器证书。这可让您使用自己的证书保护与 SSL/TLS 的通信。

流程

  1. 输入以下命令生成 root CA 密钥:

    $ openssl genrsa -out rootCA.key 2048
    Copy to Clipboard Toggle word wrap
  2. 输入以下命令生成 root CA 证书:

    $ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
    Copy to Clipboard Toggle word wrap
  3. 输入要合并到证书请求中的信息,包括服务器主机名,例如:

    Country Name (2 letter code) [XX]:IE
    State or Province Name (full name) []:GALWAY
    Locality Name (eg, city) [Default City]:GALWAY
    Organization Name (eg, company) [Default Company Ltd]:QUAY
    Organizational Unit Name (eg, section) []:DOCS
    Common Name (eg, your name or your server's hostname) []:quay-server.example.com
    Copy to Clipboard Toggle word wrap
  4. 输入以下命令生成服务器密钥:

    $ openssl genrsa -out ssl.key 2048
    Copy to Clipboard Toggle word wrap
  5. 输入以下命令生成签名请求:

    $ openssl req -new -key ssl.key -out ssl.csr
    Copy to Clipboard Toggle word wrap
  6. 输入要合并到证书请求中的信息,包括服务器主机名,例如:

    Country Name (2 letter code) [XX]:IE
    State or Province Name (full name) []:GALWAY
    Locality Name (eg, city) [Default City]:GALWAY
    Organization Name (eg, company) [Default Company Ltd]:QUAY
    Organizational Unit Name (eg, section) []:DOCS
    Common Name (eg, your name or your server's hostname) []:quay-server.example.com
    Email Address []:
    Copy to Clipboard Toggle word wrap
  7. 创建配置文件 openssl.cnf,指定服务器主机名,例如:

    openssl.cnf 文件示例

    [req]
    req_extensions = v3_req
    distinguished_name = req_distinguished_name
    [req_distinguished_name]
    [ v3_req ]
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = <quay-server.example.com>
    IP.1 = 192.168.1.112
    Copy to Clipboard Toggle word wrap

  8. 使用配置文件生成证书 ssl.cert

    $ openssl x509 -req -in ssl.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ssl.cert -days 356 -extensions v3_req -extfile openssl.cnf
    Copy to Clipboard Toggle word wrap
  9. 输入以下命令确认您的创建证书和密钥:

    $ ls /path/to/certificates
    Copy to Clipboard Toggle word wrap

    输出示例

    rootCA.key ssl-bundle.cert ssl.key custom-ssl-config-bundle-secret.yaml rootCA.pem ssl.cert
    openssl.cnf rootCA.srl  ssl.csr
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat