generated from bisco/codex-bootstrap
feat: add http challenge routing
This commit is contained in:
@@ -5,8 +5,8 @@ This project runs Traefik Proxy as a Dockerized TCP load balancer.
|
||||
## Components
|
||||
|
||||
- `compose.yaml`: defines the Traefik container, published port, host-based configuration volume, container hardening, and healthcheck.
|
||||
- `config/traefik.yml`: static Traefik configuration for entrypoints, file provider, ping, and logging.
|
||||
- `config/dynamic/tcp-services.yml`: dynamic TCP router and backend load-balancer service.
|
||||
- `config/traefik.yml`: static Traefik configuration for HTTP, TCP TLS, ping, file provider, and logging.
|
||||
- `config/dynamic/tcp-services.yml`: dynamic HTTP challenge routers, TCP routers, and backend load-balancer services.
|
||||
|
||||
## Data flow
|
||||
|
||||
@@ -16,6 +16,13 @@ This project runs Traefik Proxy as a Dockerized TCP load balancer.
|
||||
4. Traefik forwards the unchanged TCP stream to one configured backend IP address and port.
|
||||
5. The selected backend terminates TLS and presents its own SSL certificate.
|
||||
|
||||
For HTTP-01 certificate validation:
|
||||
|
||||
1. Let's Encrypt opens an HTTP connection to the Docker host on `80/tcp`.
|
||||
2. Docker forwards the request to Traefik on container port `8080/tcp`.
|
||||
3. Traefik matches the HTTP `Host(...)` and `PathPrefix('/.well-known/acme-challenge/')` router.
|
||||
4. Traefik forwards the request to the configured local challenge responder.
|
||||
|
||||
## Persistence
|
||||
|
||||
Traefik configuration is stored in the host `./config` directory and mounted read-only at `/etc/traefik`.
|
||||
|
||||
Reference in New Issue
Block a user