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

如何控制Identity Server发现文档中URI的协议类型

解决Identity Server 4发现文档中URL使用HTTP而非HTTPS的问题

问题原因

你在安全端点运行Identity Server 4时,/.well-known/openid-configuration发现文档里仅issuer字段是HTTPS协议,其余端点URL全为HTTP。这是因为Identity Server默认会根据**当前传入请求的协议(Scheme)**生成这些端点URL,IdentityServerOptions__IssuerUri仅覆盖了issuer字段,而你拼写错误的RequreSsl(正确参数名是RequireSsl)仅用于强制客户端通过HTTPS访问服务,并不会修改生成的URL协议。

修复方案

根据你的部署场景,可选择以下对应方法:

1. 配置反向代理传递HTTPS协议头

如果Identity Server部署在反向代理(如Nginx、IIS ARR、Apache)之后,需要让代理将原始请求的HTTPS协议传递给后端服务:

  • Nginx:在代理配置中添加协议头:
    proxy_set_header X-Forwarded-Proto $scheme;
    
  • IIS:在ARR的转发设置中启用"Forwarded Headers",并勾选"X-Forwarded-Proto"选项。

随后在Identity Server的Startup类中配置处理转发头:

public void ConfigureServices(IServiceCollection services)
{
    // 处理代理传递的转发头,让Identity Server识别真实请求协议
    services.Configure<ForwardedHeadersOptions>(options =>
    {
        options.ForwardedHeaders = ForwardedHeaders.XForwardedProto;
        // 将代理服务器IP添加到信任列表,防止伪造头攻击
        options.KnownProxies.Add(IPAddress.Parse("你的代理服务器IP"));
    });

    services.AddIdentityServer(options =>
    {
        options.IssuerUri = "https://identity-test.xyz.com";
        options.RequireSsl = true; // 注意参数名拼写正确
    })
    // 后续添加资源、客户端等Identity Server配置...
}

public void Configure(IApplicationBuilder app)
{
    // 必须在UseIdentityServer之前调用该中间件
    app.UseForwardedHeaders();

    app.UseIdentityServer();
    // 其他中间件配置...
}

2. 强制Identity Server生成HTTPS URL

若无法修改代理配置,可直接指定公共Origin强制生成HTTPS地址:

services.AddIdentityServer(options =>
{
    options.IssuerUri = "https://identity-test.xyz.com";
    options.RequireSsl = true;
    // 强制所有端点URL使用HTTPS协议
    options.PublicOrigin = "https://identity-test.xyz.com";
})
// 后续Identity Server配置...

该参数会忽略请求自带的协议,直接用指定的Origin生成所有端点URL。

3. 检查部署环境的协议设置

如果直接部署在IIS上:

  • 确保网站已绑定HTTPS证书,且开启了"要求SSL"选项;
  • 检查ASPNETCORE_URLS环境变量,不要仅设置HTTP地址(如http://*:5000),需包含HTTPS地址(如https://*:5001)。

验证修复

修改配置后重启服务,重新访问/.well-known/openid-configuration,检查所有端点URL是否已全部切换为HTTPS协议。


内容的提问来源于stack exchange,提问作者Nate Zaugg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:35:00