我正在将 Traefik 配置为我的反向代理,但我在其中停留了将近 3 天。
我的域“*.domain.com”有证书,但 traefik 在日志中一直这样说:
<块引用>无默认证书,生成一个
我也在互联网上搜索了所有类似的问题并尝试了所有方法,但没有任何效果。
这是我的 trafik.yml
providers:
file:
filename: "certs.yml"
watch: true
certs.yml
tls:
certificates:
- certFile: "/STAR_domain_com/STAR_domain_com.crt"
keyFile: "/cert/site.key"
docker-production.yml
version: '3.8'
networks:
traefik:
internal: true
# external: true
services:
reverse-proxy:
container_name: 'traefik'
image: traefik:v2.4.2
restart: always
command:
- --log.level=DEBUG
- --api.insecure=true
- --api.dashboard=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
# - --providers.file.directory=./traefik
# - --providers.file.filename=./traefik/traefik.yaml
- --entrypoints.web.address=:80
- --entrypoints.web-secure.address=:443
# - --entrypoints.wss.address=:5000
ports:
# - '5000:5000'
# - "80:80"
- '8080:8080'
- '443:443'
labels:
- "traefik.docker.network=backend_traefik"
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`dashboard.domain.com`)"
- "traefik.http.routers.api.service=api@internal"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/ubuntu/cert:/cert
- /home/ubuntu/STAR_domain_com:/STAR_domain_com
- /home/ubuntu/traefik:/traefik
networks:
- traefik
- default
app:
labels:
- 'traefik.enable=true'
- 'traefik.frontend.rule=Host:app.domain.com'
- 'traefik.http.routers.app.rule=Host(`api.domain.com`)'
- 'traefik.http.routers.app.tls=true'
- 'traefik.http.middlewares.app-https.redirectscheme.scheme=https'
- 'traefik.http.routers.app-http.entrypoints=web'
- 'traefik.http.routers.app.entrypoints=web-secure'
- 'traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto=https'
- 'traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-With=https'
- 'traefik.docker.network=backend_traefik'
# - 'traefik.http.middlewares.sslheader.headers.accesscontrolallowmethods=GET,OPTIONS,PUT'
# - 'traefik.http.middlewares.sslheader.headers.accesscontrolalloworiginlist=https://app.domain.com'
# - 'traefik.http.middlewares.sslheader.headers.accesscontrolmaxage=100'
# - 'traefik.http.middlewares.sslheader.headers.addvaryheader=true'
# wss
# - 'traefik.http.routers.wss.rule=Host(`api.domain.com`)'
# - 'traefik.http.routers.wss.entrypoints=wss'
# - 'traefik.http.routers.wss.tls=true'
# - 'traefik.http.routers.wss.tls.certresolver=dns'
networks:
- traefik
# depends_on:
# - reverse-proxy
# volumes:
# - ./traefik/traefik.yml:/traefik/traefik.yml
此配置以前在 AWS 中有效,但不再有效(也许我已经更改了它,我不记得了 - 可能没有)。 我真的很迷茫,也许我无法理解文档。