ai-fix: https forward

This commit is contained in:
xiaolipro 2026-04-17 11:32:17 +08:00
parent f519405c63
commit e315e03922

View File

@ -9,6 +9,7 @@ using Fake.Serilog;
using FluentValidation.AspNetCore;
using Hangfire;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Authorization;
using OpenTelemetry.Resources;
@ -134,12 +135,26 @@ public class TrackCenterApiModule : FakeModule
// 添加授权服务
services.AddAuthorization();
services.Configure<ForwardedHeadersOptions>(options =>
{
// 反向代理场景下恢复客户端真实来源信息,供 Swagger、鉴权和重定向等中间件使用
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto |
ForwardedHeaders.XForwardedHost;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
});
}
public override void ConfigureApplication(ApplicationConfigureContext context)
{
var app = context.GetWebApplication();
var configuration = context.GetConfiguration();
// 必须在读取 Scheme/Host/PathBase 的中间件之前执行,否则 Swagger 会生成错误的请求地址
app.UseForwardedHeaders();
app.Use(async (httpContext, next) =>
{
httpContext.Request.EnableBuffering();