Я запускаю traefik на экземпляре AWS с серверной частью ранчо. Я завершаю SSL на балансировщике нагрузки AWS и связываюсь через порт 80 с экземпляром, который перенаправляет трафик: 80 в контейнер traefik.
Итак, балансировщик нагрузки в настоящее время имеет: https: 443 ==> http: 80 http: 80 ==> http: 80
Это означает, что если вы введете https://example.com, вы получите SSL, а если вы введете http://example.com, вы просто получаете обычное http-соединение.
Желательно иметь автоматическое перенаправление через http 302 - он перенаправляет http://example.com на https://example.com.
Пока что я безуспешно пробовал следующее:
** Балансировщик нагрузки AWS **
https: 443 => http: 80
http: 80 => http: 81
traefik.toml
------------
[entryPoints]
[entryPoints.http]
address = ":81"
[entryPoints.http.redirect]
regex = "^http://example.com/(.*)"
replacement = "https://example.com/$1"
address = ":80"
docker-compose.yml
------------------
API-Proxy:
container_name: api-proxy
image: traefik
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "$PWD/traefik.toml:/etc/traefik/traefik.toml"
command: "--web --rancher --docker.domain=rancher.localhost --logLevel=DEBUG"
cpu_shares: 128
restart: always
ports:
- 80:80/tcp
- 81:81/tcp
- 8100:8080/tcp
Когда я пытаюсь получить доступ через порт 80, наступает тайм-аут. Журналы Traefik бесполезны.
Это глупый подход? Или лучше завершить SSL в транспортном контейнере с помощью Let's encrypt?