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

Identity Server 4重定向URL指向HTTP而非HTTPS的问题解决咨询

Identity Server 4重定向URL指向HTTP而非HTTPS的问题解决咨询

看起来你遇到了反向代理(Nginx)环境下,Identity Server 4和客户端应用之间重定向URL自动降级为HTTP的常见问题,我来给你梳理几个关键的解决方向:

1. 配置Nginx传递正确的转发协议头

因为Nginx作为反向代理接收外部的HTTPS请求,再转发给后端的ASP.NET Core应用时,后端应用默认会认为请求是HTTP的,导致生成的重定向URL也是HTTP。你需要让Nginx把外部的协议信息传递给后端,同时让ASP.NET Core信任这些转发头:

Nginx配置修改

在对应location的代理配置中添加以下头信息:

location /ids {
    proxy_pass http://your-backend-server:port; # 替换为你的后端服务实际地址
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme; # 传递外部请求的HTTPS协议标识
    proxy_set_header X-Forwarded-Host $host;
}

ASP.NET Core客户端应用配置修改

在Program.cs(或Startup.cs)中,添加转发头中间件,注意必须放在认证中间件之前注册:

var builder = WebApplication.CreateBuilder(args);

// 配置转发头选项
builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
    // 可选:如果Nginx和后端在同一服务器,可添加信任的代理IP段提升安全性
    // options.KnownProxies.Add(IPAddress.Parse("127.0.0.1"));
});

// ... 你的现有服务注册(如AddAuthentication等) ...

var app = builder.Build();

// 先启用转发头中间件
app.UseForwardedHeaders();

// 再启用认证、授权中间件
app.UseAuthentication();
app.UseAuthorization();

// ... 其他中间件和端点配置 ...

2. 显式指定OpenIdConnect的回调地址

如果自动生成的回调地址还是异常,可以在客户端的AddOpenIdConnect配置中手动指定HTTPS的重定向URI,覆盖自动生成结果:

.AddOpenIdConnect("oidc", config =>
{
    // ... 你的现有配置代码 ...
    config.RedirectUri = "https://TestWebsite.co.uk/ids/signin-oidc";
    // 可选:如果有登出需求,同步指定HTTPS的登出回调地址
    config.PostLogoutRedirectUri = "https://TestWebsite.co.uk/ids/signout-callback-oidc";
});

3. 确保Identity Server本身正确识别外部地址

如果Identity Server也部署在Nginx后面,需要让它明确自己的外部HTTPS访问地址,避免元数据或授权地址出现HTTP。可以在Identity Server的服务配置中设置PublicOrigin:

services.AddIdentityServer(options =>
{
    options.PublicOrigin = "https://TestWebsite.co.uk/ids";
})
// ... 你的Identity Server其他配置(如AddInMemoryClients、AddInMemoryApiScopes等) ...

你可以先尝试第一步的转发头配置,这是反向代理环境下导致这类问题的最常见原因。如果调整后还有问题,再依次尝试显式指定回调地址和配置Identity Server的PublicOrigin。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 07:54:50