РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcTrHsRv 18 of 28 menu
◀ ▶

Резолвер сертификатов в Docker

Резолвер сертификатов просит сертификат у Let's Encrypt и кладёт его в файл на диске. Имя резолвера le задают цепочкой флагов --certificatesresolvers.le.acme.email, --certificatesresolvers.le.acme.storage и --certificatesresolvers.le.acme.httpchallenge.entrypoint. Почта в примере - admin@example.com, файл на диске - /letsencrypt/acme.json.

HTTP-проверка домена идёт через точку web на порту 80, поэтому этот порт должен быть открыт с интернета. На localhost и у имён *.localhost Let's Encrypt сертификат не выдаст. Том certs монтируют в /letsencrypt у прокси вместе с сокетом Docker:

services: proxy: image: traefik:3 command: - --providers.docker=true - --providers.docker.exposedbydefault=false - --entrypoints.web.address=:80 - --entrypoints.websecure.address=:443 - --certificatesresolvers.le.acme.email=admin@example.com - --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json - --certificatesresolvers.le.acme.httpchallenge.entrypoint=web ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - certs:/letsencrypt volumes: certs:

Фоновый запуск:

docker compose up -d

Резолвер готов принимать заказы на сертификат, когда маршрут назовёт его в метке TLS. Без настоящего домена и доступного 80 файл acme.json может остаться пустым или без записи для хоста. Сайт с метками в этом уроке не подключают.

Опишите прокси tls-gate с резолвером le, почтой admin@example.com и томом le-data вместо certs.

Объясните, почему при проверке через HTTP-порт домен на localhost не получит сертификат Let's Encrypt.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить