Hi there,
I’m building a CI system using Traefik and Drone. At first glance, everything seemed fine because both the Traefik and Drone dashboards were working. However, I discovered that the Drone webhook isn’t functioning, and I can’t find any relevant information in the Traefik access logs or error logs.
When I tried running curl -X POST https://drone.mydomain/hook
, I received the error: Recv failure: Connection reset by peer
. Interestingly, I get the same result when I try to curl any other route.
I’m out of ideas at this point. Could someone with more expertise help me figure this out?
there is static traefik.yml
:
api:
dashboard: true
insecure: true
log:
filePath: '/log/traefik.log'
level: ERROR
accessLog:
filePath: '/log/access.log'
entryPoints:
web:
address: ':80'
websecure:
address: ':443'
http:
tls:
certResolver: myresolver
providers:
file:
directory: /data/traefik/config
watch: true
docker:
endpoint: 'unix:///var/run/docker.sock'
exposedByDefault: false
certificatesResolvers:
myresolver:
acme:
email: xx@xx.com
storage: /letsencrypt/acme.json
dnsChallenge:
provider: alidns
and the docker-compose.yml
:
services:
traefik:
image: traefik:3.3.1
container_name: traefik
ports:
- '80:80'
- '443:443'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./letsencrypt:/letsencrypt
- ./config/static:/etc/traefik
- ./config/dynamic:/data/traefik/config
- ./log/:/log/
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
environment:
- ALICLOUD_ACCESS_KEY=xxx
- ALICLOUD_SECRET_KEY=xxx
networks:
- traefiknet
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.traefik.rule=Host(`mydomian`) && (PathPrefix(`/traefik`) || PathPrefix(`/api`))'
- 'traefik.http.routers.traefik.service=api@internal'
- 'traefik.http.routers.traefik.middlewares=traefik-strip,traefik-auth'
- 'traefik.http.middlewares.traefik-strip.stripprefix.prefixes=/traefik'
- 'traefik.http.middlewares.traefik-auth.basicauth.users=user:xxxx'
networks:
traefiknet:
name: devnet
external: true
the dynamic config which handle drone server(running in docker container and has the same network devnet
):
http:
routers:
drone:
rule: 'Host(`drone.mydomain`)'
service: drone
tls: {}
services:
drone:
loadBalancer:
servers:
- url: 'http://drone-server:80'