Docker部署FastAPI自动重载失效及/wpad.dat 404问题求助
问题2:/wpad.dat 404错误
这个请求并非应用自身问题,是浏览器、代理工具等客户端自动发送的代理配置文件请求,多数网络环境下客户端会默认请求该路径获取代理设置。解决方式可选以下一种:
方案1:直接忽略日志
这属于正常的无效请求,不会影响应用运行,无需特殊处理。方案2:添加路由屏蔽日志
如果不想日志中出现该404记录,可在FastAPI中添加一个不纳入接口文档的路由:from fastapi import FastAPI, Response app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello, World!"} # 处理wpad.dat请求,返回404但不生成接口文档 @app.get("/wpad.dat", include_in_schema=False) def handle_wpad(): return Response(status_code=404)方案3:用中间件过滤日志
若想彻底屏蔽该请求的日志输出,可编写中间件:from fastapi import FastAPI, Request import logging app = FastAPI() access_logger = logging.getLogger("uvicorn.access") @app.middleware("http") async def filter_wpad_logs(request: Request, call_next): if request.url.path == "/wpad.dat": # 临时禁用该请求的访问日志 access_logger.disabled = True response = await call_next(request) access_logger.disabled = False return response return await call_next(request) @app.get("/") def read_root(): return {"message": "Hello, World!"}
内容的提问来源于stack exchange,提问作者Ola Mamdouh
相关产品推荐
相关产品推荐

