温馨提示×

怎样调试debian swagger

小樊
40
2026-09-10 16:22:26
栏目: 智能运维

在 Debian 上“调试 Swagger”通常分几种场景:

  • 调试 Swagger UI / OpenAPI 页面打不开
  • 调试 后端接口文档不显示 / 内容不对
  • 调试 Spring / Node / Python 等框架里的 Swagger

下面按「通用排查思路 + Debian 常见环境」来说明。


一、确认 Swagger 服务本身是否运行

1. 看端口和进程

ss -lntp | grep <端口>
ps aux | grep swagger

常见端口:

  • Swagger UI:8080 / 8000 / 3000
  • Spring Boot:8080
  • Node:3000

2. 本地直接访问

在 Debian 本机:

curl -v http://localhost:8080/swagger-ui.html

或

curl -v http://localhost:8080/v3/api-docs

如果 curl 能通,但浏览器不行 → 通常是防火墙 / 反向代理问题。


二、Debian 防火墙与网络

1. 防火墙(ufw)

sudo ufw status
sudo ufw allow 8080

2. 如果是云服务器

检查安全组是否放行端口。


三、Nginx / 反向代理调试(很常见)

如果你用 Nginx 代理 Swagger:

location /swagger-ui/ {
    proxy_pass http://127.0.0.1:8080/;
}

调试方法:

sudo nginx -t
sudo tail -f /var/log/nginx/error.log

常见坑:

  • proxy_pass 结尾 / 不一致
  • WebSocket 没开(Swagger 一般不用,但某些 UI 会)

四、Spring Boot + Swagger(最常见)

1. 依赖检查

Spring Boot 3:

springdoc-openapi-starter-webmvc-ui

Spring Boot 2:

springfox-swagger2
springfox-swagger-ui

2. 访问地址

  • Springfox:/swagger-ui.html
  • springdoc:/swagger-ui.html 或 /swagger-ui/index.html

3. 看日志

journalctl -u your-spring-service -f

4. 常见错误

  • 没加 @EnableOpenApi
  • 安全框架拦截:
.requestMatchers("/swagger-ui/**", "/v3/api-docs/**").permitAll()

五、Node.js(Express + swagger-ui-express)

调试方式

DEBUG=swagger-ui-express node app.js

检查挂载路径

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(spec));

访问:

http://localhost:3000/api-docs

六、Python(FastAPI / Flask)

FastAPI

uvicorn main:app --reload --log-level debug

访问:

/docs
/openapi.json

Flask

flask run --debug

七、浏览器端调试

  1. F12 → Network
  2. 看 /v3/api-docs 是否 404 / 500
  3. 看 Console 是否有 CORS 报错

八、快速自检清单 ✅

  • [ ] 服务在 Debian 上正常运行
  • [ ] 端口已开放
  • [ ] 能 curl 通
  • [ ] 路由 / 路径正确
  • [ ] 安全框架未拦截
  • [ ] Nginx 配置正确

如果你愿意,可以告诉我:

  • Debian 版本
  • 用的什么语言 / 框架
  • Swagger 打不开的具体现象(404 / 空白 / 报错)

我可以给你针对性的调试命令。

0 踩