HELP! curl any route get Connnetion reset by peer

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'