docker - 如何配置 traefik 身份验证以在 docker compose 中使用 webdav?
问题描述
我想在 traefik 后面构建一个带有身份验证的私有 webdav 服务器。
这是 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 正在工作,但没有任何身份验证,应该是摘要身份验证。现在任何人都知道该域可以访问我的文件。这是不可接受的。那么有什么地方我做错了吗?我怎样才能正确?谢谢!
解决方案
仅定义中间件是不够的,您必须将其与路由器一起使用。尝试使用此堆栈
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
推荐阅读
- rest - 提高一系列 REST API 调用性能的更好方法
- python - 我有一个列表,其中的项目被动态添加到任何索引,所以我想获取列表中添加的最新元素?
- php - 如何将元数据写入文件?
- reactjs - 更改的属性不随 Wordpress 块挥动
- go - 如何在 Go select statemnet 中评估案例
- css - 在 Next.js 中使用 SCSS 模块和 Bootstrap 时出现“SassError:找不到目标选择器”
- tensorflow - Tensorflow(CUDA 11.2)未使用 Python 3.7 在 AMD Radeon Vega 8(Envy 笔记本电脑)上检测到 GPU
- java - 如何解决异常:表 'DBNAME.hibernate_sequence' 不存在
- python - 无法在 PyCharm 中下载 pandas_datareader 包
- r - Quadrant plot based on ccf value outputs in R