温馨提示×

debian怎样调试swagger

小樊
38
2026-09-20 00:23:00
栏目: 智能运维

在 Debian 上“调试 Swagger”通常分几种场景,我先按最常见的几种情况给你说明,你对照自己的情况选即可。


一、你是调试 Swagger UI 页面打不开 / 空白

1. 确认服务是否启动

systemctl status your-service
# 或
ps aux | grep your-app

2. 查看端口是否监听

ss -lntp | grep 8080
# 或
netstat -lntp | grep 8080

3. 本地访问测试(排除浏览器问题)

curl http://localhost:8080/swagger-ui.html
curl http://localhost:8080/v3/api-docs

如果 curl 能返回 JSON,但浏览器空白,基本是前端/CDN/反向代理问题


二、你是调试 Spring Boot + Swagger(最常见)

1. 开启 DEBUG 日志

java -jar app.jar --debug

或 application.yml:

logging:
  level:
    springfox: DEBUG
    io.swagger: DEBUG

2. 检查 Swagger 配置是否生效

@Configuration
@EnableSwagger2  // 或 @EnableOpenApi
public class SwaggerConfig {}

常见误区:

  • Spring Boot 3 → 必须用 springdoc-openapi
  • Spring Boot 2 → 用 springfox

3. 防火墙 / 安全组

iptables -L
ufw status

三、你是调试 Nginx + Swagger

常见错误配置:

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

✅ 正确做法:

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

location /v3/api-docs/ {
    proxy_pass http://127.0.0.1:8080/v3/api-docs/;
}

查看 Nginx 错误:

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

四、你是调试 Swagger 接口返回 404 / 403

1. Spring Security 拦截

@Override
protected void configure(HttpSecurity http) {
    http
      .authorizeRequests()
      .antMatchers("/swagger-ui/**", "/v3/api-docs/**").permitAll();
}

2. Context Path 影响

server:
  servlet:
    context-path: /api

访问地址变为:

/api/swagger-ui.html

五、通用调试命令合集(Debian)

# 查看进程
ps aux | grep java

# 查看端口
ss -lntp

# 查看日志
journalctl -u your-service -f

# 抓包(高级)
tcpdump -i lo port 8080

六、我可以更精准帮你

你可以补充以下信息之一:

  1. Swagger 版本(springfox / springdoc)
  2. 后端语言(Java / Node / Python)
  3. 具体报错(404 / 空白 / JSON 错误)
  4. 是否使用 Nginx / Docker

我可以直接给你对应配置文件示例。

0 踩