Как настроить аутентификацию traefik для работы с webdav в docker compose? - PullRequest
0 голосов
/ 12 апреля 2020

Я хочу создать частный сервер webdav за traefik с аутентификацией.

Вот файл docker -compose.yml:

version: '3.7'
services:
  reverse-proxy:
    image: traefik:v2.2
    command: --api.insecure=true --providers.docker
    labels:
      - "traefik.http.middlewares.test-auth.digestauth.users=${AUTHUSER}"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  webdav:
    image: mwader/webdav
    labels:
      - "traefik.http.routers.webdav.rule=Host(`localhost`)||Host(`mydomain`)"
    volumes:
      - /data:/webdav

После "# docker - compose up -d ", webdav работает, но без какой-либо аутентификации, которая должна быть дайджест-аутентификацией. Теперь любой знает, что домен может получить доступ к моим файлам. Это не приемлемо. Так есть ли где я не так? Как я могу сделать это правильно? Спасибо!

1 Ответ

1 голос
/ 13 апреля 2020

Недостаточно определить промежуточное ПО, его необходимо использовать с маршрутизаторами. Попробуйте использовать этот стек

version: '3.7'
services:
  reverse-proxy:
    image: traefik:v2.2
    command: --api.insecure=true --providers.docker
    labels:
      - "traefik.http.middlewares.test-auth.digestauth.users=${AUTHUSER}"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  webdav:
    image: mwader/webdav
    labels:
      - "traefik.http.routers.webdav.rule=Host(`localhost`)||Host(`mydomain`)"
      - "traefik.http.routers.webdav.middlewares=test-auth"
    volumes:
      - /data:/webdav

Более подробную информацию, подробности и примеры можно найти в этой статье

...