Не уверен что, правильно сформулировал суть вопроса, но мне кажется это может решить мою задачу. Если есть другое решение, подскажите пожалуйста.
Необходимо перенаправлять весть трафик сайта через обратный прокcи Traefik v2 на два порта 80 и 443 соответственно.
Важно в этой задаче обойтись без редиректов всего трафика на https, без самоподписных сертификатов, без certificatesresolvers и без letsencrypt! Другими словами нужно простое проксирование запросов в контейнер 80->80, 443->443
То есть в контейнере трафика создаем два entrypoints: web и websecure
image: traefik:v2.4
command:
- "--api.insecure=true"
- "--providers.docker"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.network=proxy-network"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
В контейнере с сайтом указываем в метках, точки входа web и websecure
image: httpd:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.exampleforhttp.rule=Host(`example.com`)"
- "traefik.http.routers.exampleforhttp.entrypoints=web"
- "traefik.http.routers.exampleforhttps.rule=Host(`example.com`)"
- "traefik.http.routers.exampleforhttps.entrypoints=websecure"
- "traefik.http.routers.exampleforhttps.tls=true"
При такой настройке задача почти решена,
сайт открывается по двум ссылкам
example.com
https://example.com
проблема только в том, что при включении этой метки - "traefik.http.routers.exampleforhttps.tls=true" traefik создает самоподписанный сертификат и открывает сайт по ссылке
https://example.com уже со своим сертификатом.
Необходимо чтобы трафик просто дошел до конечного контейнера с веб-сервером apache, и далее уже сам apache прикрутит известный ему настоящий ssl сертификат, хранящийся в контейнере. Кто-нибудь знает как это реализовать?
Спасибо!