1.2. 为独立 Red Hat Quay 部署配置 SSL/TLS
对于独立的 Red Hat Quay 部署,必须使用命令行界面和手动更新 config.yaml
文件来配置 SSL/TLS 证书。
1.2.1. 使用命令行界面配置自定义 SSL/TLS 证书
必须使用命令行界面(CLI)配置 SSL/TLS,并手动更新 config.yaml
文件。
先决条件
- 您已创建了证书颁发机构并签署证书。
流程
将证书文件和主密钥文件复制到您的配置目录中,确保它们分别命名为
ssl.cert
和ssl.key
:cp ~/ssl.cert ~/ssl.key /path/to/configuration_directory
输入以下命令进入配置目录:
$ cd /path/to/configuration_directory
编辑
config.yaml
文件并指定您希望 Red Hat Quay 处理 SSL/TLS:config.yaml
文件示例# ... SERVER_HOSTNAME: <quay-server.example.com> ... PREFERRED_URL_SCHEME: https # ...
可选:输入以下命令将
rootCA.pem
文件的内容添加到ssl.cert
文件的末尾:$ cat rootCA.pem >> ssl.cert
输入以下命令停止
Quay
容器:$ sudo podman stop <quay_container_name>
输入以下命令重启 registry:
$ sudo podman run -d --rm -p 80:8080 -p 443:8443 \ --name=quay \ -v $QUAY/config:/conf/stack:Z \ -v $QUAY/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.13.1
1.2.2. 配置 Podman 以信任证书颁发机构
Podman 使用两个路径来查找证书颁发机构(CA)文件: /etc/containers/certs.d/
和 /etc/docker/certs.d/
。使用以下步骤将 Podman 配置为信任 CA。
流程
将 root CA 文件复制到
/etc/containers/certs.d/
或/etc/docker/certs.d/
之一。使用服务器主机名决定的确切路径,并将文件命名为ca.crt
:$ sudo cp rootCA.pem /etc/containers/certs.d/quay-server.example.com/ca.crt
在登录到 Red Hat Quay registry 时,验证您不再需要使用 the
-tls-verify=false
选项:$ sudo podman login quay-server.example.com
输出示例
Login Succeeded!
1.2.3. 将系统配置为信任证书颁发机构
使用以下步骤将您的系统配置为信任证书颁发机构。
流程
输入以下命令将
rootCA.pem
文件复制到合并的系统范围信任存储中:$ sudo cp rootCA.pem /etc/pki/ca-trust/source/anchors/
输入以下命令更新系统范围的信任存储配置:
$ sudo update-ca-trust extract
可选。您可以使用
trust list
命令来确保Quay
服务器已配置:$ trust list | grep quay label: quay-server.example.com
现在,当您通过
https://quay-server.example.com
浏览到 registry 时,锁定图标会显示连接安全:要从系统范围的信任中删除
rootCA.pem
文件,请删除该文件并更新配置:$ sudo rm /etc/pki/ca-trust/source/anchors/rootCA.pem
$ sudo update-ca-trust extract
$ trust list | grep quay
如需更多信息,请参阅 使用共享系统证书的 RHEL 9 文档。