H4r*_*ony 8 docker docker-compose traefik
我尝试以一种简单的方式通过子域traefik
( traefik.DOMAIN.com
)访问 traefik 。一旦我获得访问权限,SSL 证书就可以正常运行,但无法访问仪表板(404 错误)
docker-compose.yml
version: '3'
services:
reverse-proxy:
image: traefik:v2.2
container_name: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $PWD/traefik.toml:/etc/traefik/traefik.toml
- $PWD/acme.json:/acme.json
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`traefik.DOMAIN.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
- "traefik.http.routers.api.service=api@internal"
- "traefik.http.routers.api.entrypoints=websecure"
networks:
- web
networks:
web:
external: true
Run Code Online (Sandbox Code Playgroud)
traefik.toml
[api]
dashboard = true
[entryPoints]
[entryPoints.web]
address = ":80"
[entryPoints.web.http]
[entryPoints.web.http.redirections]
[entryPoints.web.http.redirections.entryPoint]
to = "websecure"
scheme = "https"
[entryPoints.websecure]
address = ":443"
[entryPoints.websecure.http.tls]
certResolver = "default"
[providers]
[providers.docker]
watch = true
exposedByDefault = false
network = "web"
[certificatesResolvers]
[certificatesResolvers.default]
[certificatesResolvers.default.acme]
email = "EMAIL@gmail.com"
storage = "acme.json"
caServer = "https://acme-v01.api.letsencrypt.org/directory"
[certificatesResolvers.default.acme.tlsChallenge]
Run Code Online (Sandbox Code Playgroud)
关于如何使这项工作的任何想法?我希望最终能够在子域上安装 owncloud
在阅读文档并在调试模式下检查日志后,我能够使其工作。这里key
是尾随的/
是mandatory
.
[entryPoints]
[entryPoints.web]
address = ":80"
[entryPoints.web.http]
[entryPoints.web.http.redirections]
[entryPoints.web.http.redirections.entryPoint]
to = "websecure"
scheme = "https"
[entryPoints.websecure]
address = ":443"
[entryPoints.websecure.http.tls]
certResolver = "default"
[providers]
[providers.docker]
watch = true
exposedByDefault = false
network = "web"
[log]
level = "DEBUG"
[api]
dashboard = true
insecure = false
[accessLog]
[certificatesResolvers]
[certificatesResolvers.default]
[certificatesResolvers.default.acme]
email = "EMAIL@gmail.com"
storage = "acme.json"
caServer = "https://acme-v01.api.letsencrypt.org/directory"
[certificatesResolvers.default.acme.tlsChallenge]
Run Code Online (Sandbox Code Playgroud)
version: '3'
services:
reverse-proxy:
image: traefik:v2.2
container_name: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $PWD/traefik.toml:/etc/traefik/traefik.toml
- $PWD/acme.json:/acme.json
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`traefik.mydomain.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
- "traefik.http.routers.api.service=api@internal"
- "traefik.http.routers.api.entrypoints=websecure"
networks:
- web
networks:
web:
external: true
Run Code Online (Sandbox Code Playgroud)
ls
acme.json docker-compose.yaml traefik.toml
Run Code Online (Sandbox Code Playgroud)
curl -s -o /dev/null -w "%{http_code}" https://traefik.mydomain.com/dashboard/
200
curl -s -o /dev/null -w "%{http_code}" https://traefik.mydomain.com/dashboard
404
Run Code Online (Sandbox Code Playgroud)
这是截图
归档时间: |
|
查看次数: |
2444 次 |
最近记录: |