Я просто создаю новый сертификат SSL, используя Давайте зашифровать. Сейчас пытаюсь настроить HAProxy.
Это папки и сертификаты:
700 archive
|--------> 755 company.cxx
|------------> 644 fullchain.pem
|------------> 644 cert.pem
|------------> 644 (etc.)
Прямо сейчас это разрешения папок и мягкие ссылки к сертификатам в archive
папка:
700 live
|--------> 755 company.cxx
|------------> 777 fullchain.pem
|------------> 777 cert.pem
|------------> 777 (etc.)
HAProxy настроен так:
frontend public
bind :80
bind :443 ssl crt /etc/letsencrypt/live/company.cxx/fullchain.pem
И ошибка такая:
Proxy 'public': no SSL certificate specified for bind ':443' at [/etc/haproxy/haproxy.cfg:12] (use 'crt').
Fatal errors found in configuration.
Я не знаю, проблема в разрешениях, но Я беспокоюсь о том, какой способ сделать это с HAProxy будет правильным. Буду признателен за вашу помощь.
РЕДАКТИРОВАТЬ: Просто для тестирования попробовал скопировать сертификаты в /etc/haproxy
но это не сработало.
Как вы указали в своем собственном ответе, минимум, который вам нужен от LetsEncrypt (LE), - это конкатенированная версия fullchain.pem
и privkey.pem
.
Но запуск клиента LE вручную каждый раз, когда истекает срок действия сертификата, приводит к поражению цели использования LE. Кроме того, вы не можете использовать клиент LE в автономном режиме, если ваш экземпляр HAProxy уже прослушивает порт 80 для других веб-сайтов.
В качестве альтернативы вам может быть интересно это Плагин проверки HAProxy ACME.
Плагин использует HAProxy Lua API, чтобы позволить HAProxy отвечать на запросы проверки, используя файлы токена / ключа аутентификации, предоставленные клиентом ACME в указанный каталог.
По сути, у вас есть HAProxy, отправляющий все запросы, соответствующие хорошо известному пути проверки ACME, плагину LUA, который автоматически отвечает на запрос для любого запрашиваемого домена. У вас также есть настройка задания cron, которая регулярно проверяет срок действия сертификата и автоматически обновляет его до истечения срока действия. Итак, ваш единственный ручной шаг - запросить начальный сертификат для домена и добавить ссылку PEM в ваш файл конфигурации HAProxy. После этого задание cron сохраняет ваш сертификат в актуальном состоянии навсегда (гипотетически).
Решение объяснено на DigitalOcean. Коротко:
fullchain.pem
и privkey.pem
/etc/haproxy/certs