原文地址:https://lala.im/8659.html,請支持原作者!該處僅作轉載。
注释掉traefik的相关配置:
services:
traefik:
image: "traefik:v2.5"
container_name: "sq_traefik"
command:
- "--api.insecure=true"
- "--providers.file=true"
- "--providers.file.filename=/config/traefik.yml"
- "--entrypoints.webinsecure.address=:80"
- "--entrypoints.web.address=:443"
- "--entryPoints.web.proxyProtocol.insecure"
- "--entryPoints.web.forwardedHeaders.insecure"
- "--certificatesresolvers.tlsresolver.acme.email=example.com"
- "--certificatesresolvers.tlsresolver.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.tlsresolver.acme.httpchallenge=true"
- "--certificatesresolvers.tlsresolver.acme.httpchallenge.entrypoint=webinsecure"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- ./letsencrypt:/letsencrypt
- ./traefik.yml:/config/traefik.yml
新建nginx配置文件:
nano /etc/nginx/sites-available/sqtracker
写入如下配置:
server {
listen 80;
server_name sqtracker.example.com;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /api/ {
proxy_pass http://127.0.0.1:3001/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /sq/ {
proxy_pass http://127.0.0.1:3001;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
启用新的nginx配置:
ln -s /etc/nginx/sites-available/sqtracker /etc/nginx/sites-enabled/sqtracker
签发ssl证书:
certbot --nginx
看下api容器的log:
docker compose logs -f api
如果回显有200状态码,并且能够显示出访客的公网ip说明正常: