Com um proxy Traefik hospedado localmente, quais deveriam ser meus "trustedIPs" para Authelia

Com um proxy Traefik hospedado localmente, quais deveriam ser meus "trustedIPs" para Authelia

Eu tinha uma pilha do docker funcionando com meu servidor de mídia doméstico usando um único arquivo docker compose:

version: "3"
secrets:
  authelia_jwt_secret:
    file: $SECRETS_PATH/authelia/jwt_secret
  authelia_session_secret:
    file: $SECRETS_PATH/authelia/session_secret
services:
  calibre-web:
    image: linuxserver/calibre-web:nightly
    container_name: calibre-web
    environment:
      - PUID=$PUID
      - PGID=$PGID
    labels:
      - traefik.enable=true
      - traefik.http.routers.calibre-https.rule=Host(`books.pointerstop.ca`)
      - traefik.http.routers.calibre-https.middlewares=authelia@file
      - traefik.http.routers.calibre-https.tls=true
      - traefik.http.routers.calibre-https.tls.certresolver=letsencrypt
    volumes:
      - /srv/calibre/config/calibre-web:/config
      - /srv/calibre/CalibreLibrary:/Calibre_Library up
    restart: unless-stopped
    depends_on:
      - calibre
    expose:
      - 8083
  traefik:
    image: traefik:latest
    container_name: traefik
    restart: unless-stopped
    command:
    - --api.insecure=true
    - --providers.docker
    - --entrypoints.web.address=:80
    - --entrypoints.websecure.address=:443
    - --certificatesresolvers.letsencrypt.acme.email=${LE_EMAIL}
    - --certificatesresolvers.letsencrypt.acme.storage=/config/acme.json
    - --certificatesresolvers.letsencrypt.acme.tlschallenge=true
    # - --certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
    - --log.filePath=/var/log/traefik.log
    - --log.level=DEBUG
    - --providers.file.directory=/dynamic_config/
    - --providers.file.watch=true

    ports:
      - 8080:8080
      - 80:80
      - 443:443
    labels:
      - traefik.enable=true
      - traefik.http.routers.traefik.rule=Host(`traefik.local`)
      ## Services - API
      - traefik.http.routers.traefik.service=api@internal
      ## Global redirect of EXTERNAL domains to HTTPS
      - traefik.http.routers.redirs.rule=hostregexp(`{host:.*pointerstop.ca}`)
      - traefik.http.routers.redirs.entrypoints=web
      - traefik.http.routers.redirs.middlewares=redirect-to-https@file
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/log/media-server:/var/log
      - ${CONFIG_PATH}/traefik:/config
      - ./dynamic_config:/dynamic_config

  # Authelia (Lite) - Self-Hosted Single Sign-On and Two-Factor Authentication
  authelia:
    container_name: authelia
    image: authelia/authelia:latest
    # image: authelia/authelia:4.21.0
    restart: always
    expose:
      - 9091
    volumes:
      - $CONFIG_PATH/authelia:/config
    environment:
      - TZ=${TIME_ZONE}
      - AUTHELIA_JWT_SECRET_FILE=/run/secrets/authelia_jwt_secret
      - AUTHELIA_SESSION_SECRET_FILE=/run/secrets/authelia_session_secret
    secrets:
      - authelia_jwt_secret
      - authelia_session_secret
    labels:
      - traefik.enable=true
      ## HTTP Routers
      - traefik.http.routers.authelia-rtr.entrypoints=websecure
      - traefik.http.routers.authelia-rtr.rule=Host(`auth.pointerstop.ca`)
      - traefik.http.routers.authelia-rtr.tls=true
      - traefik.http.routers.authelia-rtr.tls.certresolver=letsencrypt
      ## Middlewares
      - traefik.http.routers.authelia-rtr.middlewares=chain-authelia@file
      ## HTTP Services
      - traefik.http.services.authelia-media-server.loadbalancer.server.port=9091

Agora, eu queria dividir o proxy em uma pilha separada, para poder adicionar meus domínios comerciais em uma terceira pilha e ter tudo protegido pelo Authelia.

Então, criei uma rede docker proxye tudo está usando essa rede, com total sucesso, exceto que após a autenticação com Autheliahttps://books.pointerstop.ca/(Calibre-web) deseja autenticar novamente.

Estou ciente de que preciso definir entrypoints.websecure.forwardedHeaders.trustedIPso Traefik, sem o qual o Traefik remove todos os cabeçalhos importantes, mas não consigo descobrir o que deveriam ser. Com tudo na mesma pilha do docker, eu não precisava de IPs confiáveis. Agora que eles estão em pilhas diferentes,mas na mesma rede, não entendo o que mudou. Tentei definir trustedIPs=172.0.0.0/8que abrange todas as redes docker. *.pointerstop.casão CNAMEs para pointerstop.ddns.nete o único IP relatado emhttps://books.pointerstop.ca/loginé meu IP externo - mas parece errado exigir isso (e é atribuído dinamicamente, tão difícil de usar) quando não era necessário na configuração de pilha única.

informação relacionada