Я настраиваю кластер разных серверов за внутренним 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"
}
Но теперь, когда я пытаюсь запустить марионетку для узла, я продолжаю получать следующие ошибки:
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, b / c, когда я их просматриваю, они имеют следующее:
# 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), то марионетка работает нормально. Что мне не хватает?
Версии:
CentOS: 6.7
Puppetmaster: 2.7.26
Вам не нужно использовать SSL-разгрузку на ELB - вы можете просто использовать стандартный сквозной порт и оставить все как есть.
например Трафик на TCP-порту 8140 трафик на ELB перенаправляется на порт 8140 на мастере Puppet.