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

ASP.NET Core 8 Razor Pages经AWS API Gateway访问时登录POST报400及重定向异常

ASP.NET Core 8 Razor Pages在AWS API Gateway后出现认证与重定向问题

部署在Docker容器中的ASP.NET Core 8 Razor Pages应用,通过EC2直接访问运行正常,但经AWS API Gateway访问时出现认证及重定向相关问题,怀疑问题与转发标头、Cookie、防伪令牌或API Gateway代理行为有关。

当前配置

转发标头配置

builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders =
        ForwardedHeaders.XForwardedFor |
        ForwardedHeaders.XForwardedProto |
        ForwardedHeaders.XForwardedHost;

    options.KnownNetworks.Clear();
    options.KnownProxies.Clear();
});

app.UseForwardedHeaders();
builder.Services.Configure<CookiePolicyOptions>(options =>
{
    options.CheckConsentNeeded = context => false;
    options.MinimumSameSitePolicy = SameSiteMode.Lax;
    options.HttpOnly = HttpOnlyPolicy.Always;
    options.Secure = CookieSecurePolicy.SameAsRequest;
});

builder.Services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromHours(24);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
    options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
});

相关日志

[WRN] Failed to determine the https port for redirect. 
[INF] AuthenticationScheme: Cookies was challenged.
[INF] [DEBUG] Scheme: http, URL: http:some-aws-url:8085/authentication/login2026-05-08

具体现象

  • 通过HttpContext获取到的请求Scheme为http、URL为http://some-aws-url:8085,但实际访问使用HTTPS,该URL并非公网DNS,端口也与容器运行端口不符。
  • 自动重定向(如从/index跳转到/authentication/login)失效,仅能手动输入URL访问登录页。
  • 登录POST请求无法到达Razor Page处理器,浏览器会提前收到HTTP 400错误。

由于该AWS环境并非我方所有,测试前难以调整配置,恳请分析问题原因。

内容的提问来源于stack exchange,提问作者Adler Targino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 00:22:26