Procházet zdrojové kódy

Document Traefik PathPrefix (#5845)

Alexandre Alapetite před 2 roky
rodič
revize
e6b0f8c3e3
2 změnil soubory, kde provedl 27 přidání a 4 odebrání
  1. 20 0
      Docker/README.md
  2. 7 4
      Docker/freshrss/docker-compose-proxy.yml

+ 20 - 0
Docker/README.md

@@ -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 [Let’s Encrypt](https://letsencrypt.org/) HTTPS certificates and with a redirection from HTTP to HTTPS.
 
 See [`docker-compose-proxy.yml`](./freshrss/docker-compose-proxy.yml)

+ 7 - 4
Docker/freshrss/docker-compose-proxy.yml

@@ -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`)