簡體   English   中英

在反向代理后面部署 IdentityServer4

[英]Deploying IdentityServer4 behind reverse proxy

我們正在嘗試在反向代理后面部署 IdentityServer4。 發現文檔返回本地 url,例如

https://xxx.local/connect/token

我們需要的地方

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

IdentityServer文檔將我們指向這個github 頁面。 但是,當我們按照描述配置中間件時,我們看不到任何變化。

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

github 頁面上可以找到類似的設置。 提出的解決方案使用 nginx,所以可能我們的 iis 配置是關閉的。

在代理的 IIS 中:

在此處輸入圖片說明

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

任何幫助將不勝感激。

在您啟動 IDS 的 IDS 啟動內部嘗試以下代碼

var builder = services.AddIdentityServer(options =>
        {
            ...


            options.PublicOrigin = "https://domainName.com";// <= try adding this!

           ...




        })

這將強制您的發現端點成為您的公共 IP。 讓我知道這是否有效。

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

請參閱: https : //github.com/IdentityServer/IdentityServer4/issues/4535

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM