Traefik - edge-proxy.
Четрые основные сущности:
- Точки входа - некоторые UDP/TCP порты которые слушает программа.
- Router - правила по которым происходит направления трафика, например хост, путь или порт.
- Middleware - некоторые преднастроенные скрипты которые позволяют осуществлять такие операции как фильтрация, перенапралвление, авторизацию, аутентификацию и пр.
- Sercvice - некоторый сервис предоставляющий порт для трафика, который занимается непосредственно обработкой запроса.
- Клонировать репозиторий локально
- Установить mkcert
- Установить любым из доступных способов (brew, source, pre-build bin).
- Выполнить
mkcert --install
- Сгенерировать сертификаты для сайтов в папке cert. Например:
cd certsmkcert myapp.localhostmkcert "*.myapp.localhost"cd -
- Выполнить
./setup.shдля настройки и запуска traefic - Открыть http://localhost:8080
Для быстрого обновления сертификатов ./refresh-certs.sh.
При изменении сертификатов - просто перезапустить ./setup.sh.
services:
webserver:
networks:
- default
- traefik
labels:
traefik.enable: "true"
traefik.http.routers.myapp.tls: "true"
traefik.http.routers.myapp.rule: "HostRegexp(`myapp.localhost`, `{subdomain:.+}.myapp.localhost`)"
traefik.http.routers.myapp.entrypoints: websecure
traefik.http.services.myapp.loadbalancer.server.port: 80
networks:
traefik:
external: true