4.4. 使用 Puppet 为负载均衡配置带有自定义 SSL 证书的 Capsule 服务器
下面的部分论述了如何配置使用自定义 SSL 证书通过 Puppet 进行负载平衡的 Capsule 服务器。
4.4.1. 为 Capsule 服务器创建自定义 SSL 证书 复制链接链接已复制到粘贴板!
此流程概述了如何为证书签名请求创建配置文件,并将负载均衡器和 Capsule 服务器用作主题备用名称(SAN)。在您要配置用于负载平衡的每个 Capsule 服务器上完成这个步骤。
流程
在 Capsule 服务器上,创建一个目录来包含所有源证书文件,只能通过
root用户访问:mkdir /root/capsule_cert cd /root/capsule_cert
# mkdir /root/capsule_cert # cd /root/capsule_certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建为证书签名请求(CSR)签名的私钥。
请注意,私钥必须是未加密的。如果您使用密码保护的私钥,请删除私钥密码。
如果您已拥有此 Capsule 服务器的私钥,请跳过这一步。
openssl genrsa -out /root/capsule_cert/capsule.pem 4096
# openssl genrsa -out /root/capsule_cert/capsule.pem 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建证书请求配置文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 SAN 证书创建证书签名请求(CSR):
openssl req -new \ -key /root/capsule_cert/capsule.pem \ -config SAN_config.cfg \ -out /root/capsule_cert/capsule.pem
# openssl req -new \ -key /root/capsule_cert/capsule.pem \1 -config SAN_config.cfg \2 -out /root/capsule_cert/capsule.pem3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将证书请求发送到证书颁发机构:
当您提交请求时,指定证书的 Lifespan。发送证书请求的方法会有所不同,因此请参阅证书颁发机构以获取首选方法。根据请求,您可以在单独的文件中接收证书颁发机构捆绑包和签名证书。
- 将您从证书颁发机构接收的证书颁发机构捆绑包和 Capsule 服务器证书文件复制到 Satellite 服务器,以将 Capsule 服务器私钥复制到 Satellite 服务器以验证它们。
在 Satellite 服务器上,验证 Capsule 服务器证书输入文件:
katello-certs-check \ -c /root/capsule_cert/capsule.pem \ -k /root/capsule_cert/capsule.pem \ -b /root/capsule_cert/ca_cert_bundle.pem
# katello-certs-check \ -c /root/capsule_cert/capsule.pem \1 -k /root/capsule_cert/capsule.pem \2 -b /root/capsule_cert/ca_cert_bundle.pem3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.2. 使用 Puppet 为负载均衡配置带有自定义 SSL 证书的 Capsule 服务器 复制链接链接已复制到粘贴板!
如果您在 Satellite 配置中使用 Puppet,则必须完成以下步骤:
配置 Capsule 服务器以生成和签名 Puppet 证书
仅对您要配置 Capsule 服务器的系统完成此步骤,以为您配置用于负载平衡的所有其他 Capsule 服务器生成 Puppet 证书。在此流程示例中,此 Capsule 服务器的 FQDN 是 evince -ca.example.com。
将以下选项附加到从
katello命令中:-certs-check命令的输出中获取的 evince-certs-generate--foreman-proxy-cname loadbalancer.example.com
--foreman-proxy-cname loadbalancer.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,输入
evince-certs-generate命令来生成 Capsule 证书。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为安装 Capsule 服务器证书的输出保留
satellite-installer命令示例副本。- 将证书存档文件从 Satellite 服务器复制到 Capsule 服务器。
在
satellite-installer命令中获取的 satellite-installer 命令中附加以下选项:--puppet-dns-alt-names "loadbalancer.example.com" \ --puppet-ca-server "capsule-ca.example.com" \ --foreman-proxy-puppetca "true" \ --puppet-server-ca "true" \ --enable-foreman-proxy-plugin-remote-execution-ssh
--puppet-dns-alt-names "loadbalancer.example.com" \ --puppet-ca-server "capsule-ca.example.com" \ --foreman-proxy-puppetca "true" \ --puppet-server-ca "true" \ --enable-foreman-proxy-plugin-remote-execution-sshCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上,输入
satellite-installer命令,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上,为您配置用于负载平衡的所有其他 Capsule 生成 Puppet 证书,但这是配置 Puppet 证书签名请求的第一个系统:
puppet cert generate capsule.example.com \ --dns_alt_names=loadbalancer.example.com
# puppet cert generate capsule.example.com \ --dns_alt_names=loadbalancer.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令在 Puppet 证书签名请求上创建以下文件:
-
/etc/puppetlabs/puppet/ssl/certs/ca.pem -
/etc/puppetlabs/puppet/ssl/certs/capsule.example.com.pem -
/etc/puppetlabs/puppet/ssl/private_keys/capsule.example.com.pem -
/etc/puppetlabs/puppet/ssl/public_keys/capsule.example.com.pem
-
为负载均衡配置剩余 Capsule 服务器
为每个 Capsule 服务器完成此流程,但不包括您配置 Capsule 服务器以签署 Puppet 证书的系统。
将以下选项附加到从
katello命令中:-certs-check命令的输出中获取的 evince-certs-generate--foreman-proxy-cname loadbalancer.example.com
--foreman-proxy-cname loadbalancer.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,输入
evince-certs-generate命令来生成 Capsule 证书。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为安装 Capsule 服务器证书的输出保留
satellite-installer命令示例副本。将证书存档文件从 Satellite 服务器复制到 Capsule 服务器。
scp /root/capsule.example.com-certs.tar \ root@capsule.example.com:capsule.example.com-certs.tar
# scp /root/capsule.example.com-certs.tar \ root@capsule.example.com:capsule.example.com-certs.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上安装
puppetserver软件包:satellite-maintain packages install puppetserver
# satellite-maintain packages install puppetserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上,为 puppet 证书创建目录:
mkdir -p /etc/puppetlabs/puppet/ssl/certs/ \ /etc/puppetlabs/puppet/ssl/private_keys/ \ /etc/puppetlabs/puppet/ssl/public_keys/
# mkdir -p /etc/puppetlabs/puppet/ssl/certs/ \ /etc/puppetlabs/puppet/ssl/private_keys/ \ /etc/puppetlabs/puppet/ssl/public_keys/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上,从您配置 Capsule 服务器的系统中复制此 Capsule 服务器的 Puppet 证书,以签署 Puppet 证书:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上,将目录所有权改为 user
puppet、grouppuppet并设置 SELinux 上下文:chown -R puppet:puppet /etc/puppetlabs/puppet/ssl/ restorecon -Rv /etc/puppetlabs/puppet/ssl/
# chown -R puppet:puppet /etc/puppetlabs/puppet/ssl/ # restorecon -Rv /etc/puppetlabs/puppet/ssl/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
satellite-installer命令中获取的 satellite-installer 命令中附加以下选项:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上,输入
satellite-installer命令,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow