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

.NET Core 6 API在AKS Nginx Ingress中Swagger UI Try It Out功能失效

解决AKS中.NET 6 API通过Nginx Ingress时Swagger Try It Out路径缺失问题

问题核心是Nginx Ingress的路径重写规则,导致Swagger UI无法识别API的前缀路径/serv1,生成的请求URL未添加该前缀,无法被Ingress转发到应用。以下是针对性解决步骤:

1. 修改Swagger配置(program.cs)

更新program.cs,添加Swagger Server配置并调整SwaggerUI参数,让Swagger明确API的基础路径前缀:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new() { Title = "MyApp API", Version = "v1" });
    // 配置Server,告知Swagger API的基础路径前缀
    c.AddServer(new()
    {
        Url = "/serv1"
    });
});

var app = builder.Build();

// Configure the HTTP request pipeline.
app.UseSwagger();
app.UseSwaggerUI(options =>
{
    // 指定Swagger文档的访问路径,匹配Ingress转发后的地址
    options.SwaggerEndpoint("/serv1/swagger/v1/swagger.json", "MyApp API V1");
    // 设置RoutePrefix为空,通过/serv1/swagger即可访问Swagger UI
    options.RoutePrefix = string.Empty;
});

app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();

app.Run();

2. 保留现有Ingress配置

当前Ingress的路径重写规则可正确将/serv1/*的请求转发到应用根路径,无需修改:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-world-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /serv1/(.*)
        pathType: Prefix
        backend:
          service:
            name: myapp
            port:
              number: 80

3. 验证效果

部署更新后的应用,访问http://<你的Ingress IP>/serv1/swagger打开Swagger UI,此时「Try It Out」生成的请求URL会自动带上/serv1前缀(例如/serv1/WeatherForecast),可被Ingress正确转发到.NET API应用。

之前配置无效的原因

  • 未添加Swagger Server配置:Swagger UI无法感知API的前缀路径,生成的请求直接使用根路径,无法匹配Ingress转发规则。
  • RoutePrefix设置不当:错误的RoutePrefix会导致Swagger UI的访问路径或请求生成逻辑混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:44:58