在反向代理后面部署IdentityServer4

时间:2017-06-29 10:08:45

标签: c# iis asp.net-core reverse-proxy identityserver4

我们正在尝试在反向代理后面部署IdentityServer4。发现文档返回本地URL,例如

https://xxx.local/connect/token

我们需要的地方

https://xxx.domain.com/connect/token

IdentityServer docs将我们指向this github页面。但是,当我们按照描述配置中间件时,我们看不到任何更改。

var options = new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
};
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
app.UseForwardedHeaders(options);

this github页面上可以找到类似的设置。提出的解决方案使用nginx,因此我们的iis配置可能已关闭。

在IIS中代理:

enter image description here

<serverVariables>
     <set name="HTTP_X_ORIGINAL_REMOTE_ADDR" value="{REMOTE_ADDR}" />
     <set name="HTTP_X_FORWARDED_PROTO" value="https" />
</serverVariables>

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

2020年更新(IdentityServer4 v4.x):PublicOrigin属性已删除。

请参阅:https://github.com/IdentityServer/IdentityServer4/issues/4535

答案 1 :(得分:1)

在启动IDS的IDS内部启动尝试以下代码

<div img-preview class="thumbnail" style="display:none">
            <img class="img-fluid" target-img />
            <div class="caption">
                <a href="#in-form" onclick="ClearPreview()"><i class="fas fa-trash"></i> </a>
                <p img-description></p>
            </div>
        </div>

这将强制您的发现端点成为您的公共IP。让我知道是否可行。我