IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    fastapi 禁用 swagger

    admin发表于 2025-05-07 14:00:44
    love 0

    背景

    起初是早上收到安全同事发出的一个问题整改单,说是提供在预发环境的公网接口存在风险,看到单子里面的内容是

    https://xxxxx/openapi.json 存在泄露数据风险
    

    然后我也访问看了下返回的内容确实存在一定的危险,之前开发的api接口都是在内网,也不存在泄露的问题,这次项目特殊需要走公网接口,web api 使用fastapi 开发。

    解决方法

    在 FastAPI 中,如果你想关闭 OpenAPI 文档接口(/openapi.json),你可以通过在创建 FastAPI 实例时将 openapi_url 设置为 None 来实现:

    from fastapi import FastAPI
    
    app = FastAPI(openapi_url=None)
    

    这将禁用 /openapi.json 接口,也会间接关闭 Swagger UI(默认依赖该接口)。

    如果你还想进一步关闭 Swagger UI 和 ReDoc 文档界面,也可以通过设置:

    app = FastAPI(
        openapi_url=None,
        docs_url=None,
        redoc_url=None
    )
    

    这样将完全禁用 FastAPI 的所有自动生成文档功能。



沪ICP备19023445号-2号
友情链接