环境信息
- 操作系统:CentOS 7.9
- Traefik版本:2.10.3
- Traefik安装目录:/usr/local/traefik
Traefik配置修改
静态配置
cat /usr/local/traefik/traefik.yaml
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
http:
tls:
certResolver: leresolver
domains:
- main: "example.com"
sans:
- "*.example.com"
certificatesResolvers:
leresolver:
acme:
email: <通知邮箱>
storage: acme.json
dnsChallenge:
provider: "cloudflare"
delayBeforeCheck: 10
动态配置
$ cat /usr/local/traefik/conf.d/provider.yaml
http:
routers:
lm-demo:
entryPoints:
- "web"
- "websecure"
rule: "HostRegexp(`{subdomain:[a-z-_]*}.example.com`) && PathPrefix(`/demo`)"
service: http-lm-demo
services:
http-lm-demo:
loadBalancer:
servers:
- url: http://127.0.0.1:8000
环境变量
# 配置域名所在dns解析平台所需账号凭据, 示例中是cloudflare平台
$ cat /usr/local/traefik/acme.env
CF_API_EMAIL="xxx" # Cloudflare 邮箱
CF_API_KEY="xxx" # Cloudflare api key
systemd配置
$ cat /etc/systemd/system/traefik.service
...
[Service]
EnvironmentFile=/usr/local/traefik/acme.env
...
$ systemctl daemon-reload
$ systemctl restart traefik.service
验证
$ grep -A 3 'Certificates' /usr/local/traefik/acme.json
- 浏览器访问: https://www.example.com/demo

$ tail -n 50 /data/logs/traefik/traefik.log