我正在内部 AWS ELB 后面设置一个杂项服务器集群,该集群将为 NTP、集中式 Rsyslog 和 Puppetmaster 提供服务。我将 ELB 上的侦听器配置为使用需要证书的 https (8140),因此我使用 aws cli 上传证书,并且它们上传正常:
"ServerCertificateMetadata": {
"ServerCertificateId": "SOMEID",
"ServerCertificateName": "wildcard_example_com",
"Expiration": "2016-09-14T23:59:59Z",
"Path": "/",
"Arn": "arn:aws:iam::1234:server-certificate/wildcard_example_com",
"UploadDate": "2015-10-21T13:46:22.844Z"
}
但是现在,当我尝试在节点上运行 Puppet 时,我总是收到这些错误:
Could not retrieve catalog from remote server: Certname "/ou=domain control validated/ou=positivessl wildcard*.example.com" must not contain unprintable or non-ASCII characters
.crt 和 .key 文件按原样上传,我认为它们已经是 PEM 格式,因为当我查看它们时,它们具有以下内容:
# server.key
-----BEGIN PRIVATE KEY-----
<key string here>
-----END PRIVATE KEY-----
# server.crt
-----BEGIN CERTIFICATE-----
<crt string here>
-----END CERTIFICATE-----
如果我添加127.0.0.1 puppetmaster
到/etc/hosts
文件(绕过 ELB),那么 Puppet 就可以正常运行。我遗漏了什么?
版本:
CentOS: 6.7
Puppetmaster: 2.7.26
答案1
您不需要在 ELB 上使用 SSL-offload - 您只需使用标准端口直通并保持一切原样。
例如,ELB 上的 TCP 端口 8140 上的流量被转发到 Puppet Master 上的端口 8140。