Я использую образ jonasal/nginx-certbot для генерации сертификатов letsencript.
докер-compose.yml:
версия: '3'
Сервисы:
нгинкс:
изображение: jonasal/nginx-certbot: последний
перезапуск: если не остановлен
среда:
- [email protected]
env_file:
- ./nginx-certbot.env
порты:
- 80:80
- 443:443
тома:
- nginx_secrets:/etc/letsencrypt
- ./user_conf.d:/etc/nginx/user_conf.d
тома:
nginx_secrets:
nginx-certbot.env:
# Необходимый
[email protected]
# Необязательно (по умолчанию)
ПОСТАНОВКА=0
DHPARAM_SIZE=2048
RSA_KEY_SIZE=2048
ЭЛЛИПТИЧЕСКАЯ_КРИВАЯ=secp256r1
USE_ECDSA=0
RENEWAL_INTERVAL=8 дн.
# Дополнительно (по умолчанию)
ОТЛАДКА=0
USE_LOCAL_CA=0
example_server.conf:
сервер {
# Слушайте порт 443 как на IPv4, так и на IPv6.
слушать 443 ssl default_server reuseport;
слушать [::]:443 ssl default_server reuseport;
# Доменные имена, на которые должен отвечать этот сервер.
имя_сервера autocensor.ru www.autocensor.ru;
# Загрузите файлы сертификатов.
ssl_certificate /etc/letsencrypt/live/autocensor.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/autocensor.ru/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/autocensor.ru/chain.pem;
# Загрузите параметр Диффи-Хеллмана.
ssl_dhparam /etc/letsencrypt/dhparams/dhparam.pem;
return 200 'Сертификат Let's Encrypt успешно установлен!';
add_header Content-Type text/plain;
}
и при запуске docker-compose я получаю эту ошибку:
Запрос сертификата для autocensor.ru и www.autocensor.ru nginx_1
| nginx_1 | Certbot не удалось аутентифицировать некоторые домены
(аутентификатор: webroot). Центр сертификации сообщил об этом
проблемы: nginx_1 | Домен: autocensor.ru nginx_1 | Тип:
неавторизованный nginx_1 | Деталь: Файл авторизации ключа из
сервер не соответствует этой задаче
"pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM.kTA13USq2rwk6zJAuXHkRl6UF3hcK_tiHGRBYu100gU"
!= "pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM"
Однако https://autocensor.ru/.well-known/acme-challenge/pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM.kTA13USq2rwk6zJAuXHkRl6UF3hcK_tiHGRBYu100gU показывает полный хеш-код и не похоже, что certbot его по какой-то причине обрезал.
я попытался сделать это, используя исходное изображение phusion/baseimage. Результат тот же. Что я делаю неправильно?
Может быть, мне нужно вывести только часть хеша? Я попытался распечатать другой контент, и он показал мне что-то вроде этого:
"pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM.kTA13USq2rwk6zJAuXHkRl6UF3hcK_tiHGRBYu100gU"
!= "контент"
это означает, что выходной контент остается с правой стороны.
Буду благодарен за любую подсказку!