You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Traefik代理OpenSpeedTest上传测试报net::ERR_CONNECTION_RESET错误

问题背景

尝试部署openspeedtest的Docker镜像,该镜像HTTP服务默认监听3000端口,HTTPS服务默认监听3001端口。仅需在局域网环境下使用HTTP版本服务,但上传测试过程中,浏览器控制台出现HTTP POST请求net::ERR_CONNECTION_RESET报错。
报错截图如下:
报错截图
初始使用的docker-compose配置如下:

version: "3.3"

services:

  traefik:
    image: "traefik:v2.8"
    container_name: "traefik"
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "5000:80"
      - "5001:8080"
     
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  openspeedtest:
    image: "openspeedtest/latest"
    container_name: "speedtest-service"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.openspeedtest.rule=Host(`unraid.vishnu.pro`)"
      - "traefik.http.routers.openspeedtest.entrypoints=web"
故障原因
  • 配置中未显式指定openspeedtest的后端服务端口,Traefik默认读取容器暴露的第一个端口,存在误识别到3001 HTTPS端口的概率,导致HTTP代理请求连接异常重置
  • Traefik默认对请求体大小设置了1MB上限,测速上传场景下POST请求体体积远大于该阈值,请求会被Traefik直接中断
  • Traefik默认空闲连接超时时间较短,大体积上传过程中连接一旦触发空闲超时就会被主动断开
修复方案

调整docker-compose配置,补全端口声明、请求体限制规则、超时配置,修正后完整配置如下:

version: "3.3"

services:
  traefik:
    image: "traefik:v2.8"
    container_name: "traefik"
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.transport.respondingTimeouts.idleTimeout=300s"
    ports:
      - "5000:80"
      - "5001:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  openspeedtest:
    image: "openspeedtest/latest"
    container_name: "speedtest-service"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.openspeedtest.rule=Host(`unraid.vishnu.pro`)"
      - "traefik.http.routers.openspeedtest.entrypoints=web"
      # 显式指定后端HTTP服务端口,避免端口识别错误
      - "traefik.http.services.openspeedtest.loadbalancer.server.port=3000"
      # 配置中间件关闭请求体大小限制
      - "traefik.http.routers.openspeedtest.middlewares=speedtest-buffering"
      - "traefik.http.middlewares.speedtest-buffering.buffering.maxRequestBodyBytes=0"
      - "traefik.http.middlewares.speedtest-buffering.buffering.memRequestBodyBytes=0"
操作步骤
  • 保存配置后执行docker-compose up -d重新部署服务栈
  • 清除浏览器缓存后重新访问测速页面,上传测试即可正常运行
  • 若仍存在断连问题,排查局域网内防火墙、路由设备是否存在长连接POST请求拦截规则

内容的提问来源于stack exchange,提问作者user3642342

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 01:45:41