Document Traefik PathPrefix (#5845)

This commit is contained in:
Alexandre Alapetite 2023-11-10 08:35:31 +01:00 committed by GitHub
parent d918ab8bc8
commit e6b0f8c3e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 4 deletions

View File

@ -419,6 +419,26 @@ SERVER_DNS=freshrss.example.net
### Use [Træfik](https://traefik.io/traefik/) reverse proxy
#### Option 1: server FreshRSS as a sub-domain
Use [`Host()` rule](https://doc.traefik.io/traefik/routing/routers/#rule), like:
```yml
- traefik.http.routers.freshrss.rule=Host(`freshrss.example.net`)
```
#### Option 2: serve FreshRSS as a sub-path
Use [`PathPrefix()` rules](https://doc.traefik.io/traefik/routing/routers/#rule) and [`StripPrefix` middleware](https://doc.traefik.io/traefik/middlewares/http/stripprefix/#stripprefix), like:
```yml
- traefik.http.middlewares.freshrssM3.stripprefix.prefixes=/freshrss
- traefik.http.routers.freshrss.middlewares=freshrssM3
- traefik.http.routers.freshrss.rule=PathPrefix(`/freshrss`)
```
#### Full example
Here is the recommended configuration using automatic [Lets Encrypt](https://letsencrypt.org/) HTTPS certificates and with a redirection from HTTP to HTTPS.
See [`docker-compose-proxy.yml`](./freshrss/docker-compose-proxy.yml)

View File

@ -16,8 +16,6 @@ services:
ports:
- 80:80
- 443:443
networks:
- network
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- traefik-tmp:/tmp
@ -53,7 +51,12 @@ services:
- traefik.http.middlewares.freshrssM2.headers.referrerPolicy=no-referrer-when-downgrade
- traefik.http.middlewares.freshrssM2.headers.stsSeconds=31536000
- traefik.http.routers.freshrss.entryPoints=https
- traefik.http.routers.freshrss.middlewares=freshrssM1,freshrssM2
- traefik.http.routers.freshrss.rule=Host(`${SERVER_DNS}`)
- traefik.http.routers.freshrss.tls.certResolver=letsEncrypt
- traefik.http.routers.freshrss.tls=true
## Option 1: server FreshRSS as sub-domain
- traefik.http.routers.freshrss.middlewares=freshrssM1,freshrssM2
- traefik.http.routers.freshrss.rule=Host(`${SERVER_DNS}`)
## Option 2: serve FreshRSS as sub-path
# - traefik.http.middlewares.freshrssM3.stripprefix.prefixes=/freshrss
# - traefik.http.routers.freshrss.middlewares=freshrssM1,freshrssM2,freshrssM3
# - traefik.http.routers.freshrss.rule=PathPrefix(`/freshrss`)