![](/img/trans.png)
[英]IdentityServer 4 : connect/authorize/callback address not found behind Nginx reverse proxy
[英]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.