У меня есть VM0, где Traefik работает как docker, и две целевые системы VM1 и VM2, на которых работает веб-сервер.
Все запросы domainA.com должны go к VM1 через TCP-маршрутизатор и tls passthrough, поскольку этот веб-сервис обрабатывает сами сертификаты.
Все запросы domainB.com должны go к VM2 через http-маршрутизатор, а Traefik должен генерировать сертификаты tls для этого домена.
Моя проблема в том, что, как только я добавляю конфигурацию tls к маршрутизатору http, кажется, что tcp passthrough больше не работает. В журналах я вижу такие сообщения:
time = "2020-03-15T21: 46: 18Z" level = debug msg = "Обслуживание сертификата по умолчанию для запроса: \" subdomain.DomainA.com \ "" time = "2020-03-15T21: 46: 18Z" level = debug msg = "http: ошибка квитирования TLS от 192.168.1.116:55103: удаленная ошибка: tls: неизвестный сертификат" time = "2020-03-15T21: 46: 18Z "level = debug msg =" Обслуживание сертификата по умолчанию для запроса: \ "subdomain.DomainA.com \" "time =" 2020-03-15T21: 46: 18Z "level = отладка msg =" http: ошибка рукопожатия TLS от 192.168.1.116:55104: удаленная ошибка: tls: неизвестный сертификат "
И если я захожу на сайт через Traefik, он показывает мне самозаверяющий сертификат от Traefik.
Если Затем я удаляю все настройки tls под http-маршрутизатором, passthrough снова работает.
My Dynami c Файл:
http:
routers:
HTTProuter0:
rule: "HostRegexp(`{subdomain:[a-z]+}.domainA.com`)"
service: "domainA"
entryPoints:
- "websecure"
tls:
certResolver: "myresolver"
domains:
- main: "domainA.com"
sans:
- "*.domainA.com"
services:
domainA:
loadBalancer:
servers:
- url: "https://192.168.1.13:4433"
tcp:
routers:
TCProuter0:
rule: "HostSNI(`*`)"
service: "domainB"
entryPoints:
- "websecure"
tls:
passthrough: true
services:
domainB:
loadBalancer:
servers:
- address: "192.168.1.11:443"
Мои данные c файл:
serversTransport:
insecureSkipVerify: true
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
spain:
address: ":4443"
certificatesResolvers:
myresolver:
acme:
email: email@email.com
storage: /etc/traefik/acme/acme.json
dnsChallenge:
provider: cloudflare
delayBeforeCheck: 60
resolvers:
- "1.1.1.1:53"
- "8.8.8.8:53"
api:
insecure: true
dashboard: true
providers:
docker: {}
file:
directory: /etc/traefik/config
watch: true
log:
filePath: /etc/traefik/traefik.log
level: DEBUG
Я застрял в этой проблеме на несколько часов. Я не уверен, что это ошибка или я что-то не так делаю?
Любая помощь будет очень признательна!
Большое спасибо