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

Настоящий домен в Docker

Настоящий домен должен указывать на этот сервер, иначе Let's Encrypt не подтвердит, что сайт ваш. В правиле роутера стоит Host(`app.example.com`), и центр сертификации проверяет именно это имя. Запись DNS типа A или AAAA ведёт на публичный адрес машины, где крутится контейнер прокси.

Снаружи должны отвечать порты 80 и 443 на том же адресе, иначе HTTP-проверка или HTTPS-страница не сойдутся. Имя app.localhost или любое *.localhost для Let's Encrypt не годится, даже если локально страница по HTTP открывается.

Полное описание прокси и сайта с тем же хостом в метке:

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 site: image: nginx labels: - traefik.enable=true - traefik.http.routers.app.rule=Host(`app.example.com`) - traefik.http.routers.app.entrypoints=websecure - traefik.http.routers.app.tls.certresolver=le volumes: certs:

Фоновый подъём на сервере с реальным именем:

docker compose up -d

После обновления DNS проверку выполняют с другой сети, не только с самой машины. Команда curl -I http://app.example.com снаружи должна дойти до Traefik на 80, если резолвер ещё не выпустил сертификат. Без правильной записи файла меток мало.

Перечислите, что нужно настроить у регистратора для app.example.com и на файрволе хоста, чтобы этот проект мог пройти проверку Let's Encrypt.

Объясните, почему замена app.example.com на app.localhost в правиле не даст рабочий публичный сертификат.

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