簡體   English   中英

DotNetOpenAuth-如何使其在負載均衡器后面工作?

[英]DotNetOpenAuth - How to make it work behind a load balancer?

我有一個帶有某些Web服務器的負載平衡器。 到達負載均衡器的流量使用SSL進行保護,並且從負載均衡器到Web服務器的數據將作為未加密的HTTP流量發送。 我正在Web服務器上的負載平衡器后面使用DotNetOpenAuth OAuth服務提供程序。

從客戶端發送請求時,我訪問的是https://www.mydomain.com/OAuth.ashx。但是,一旦訪問負載平衡器,該協議將更改為HTTP,並且HttpContext的URL實際讀取了該URL。 Request.Url是http://www.mydomain.com/OAuth.ashx

URL中的協議正在被修改。 有沒有人遇到過這個問題,如果是這樣,您如何解決這個問題? 我唯一能想到的就是獲取DotNetOpenAuth源代碼,修改代碼以強制使用https URL,然后對其進行編譯並使用它而不是預打包的程序集。

任何方向表示贊賞。

萬一遇到任何人,這是問題的答案:

DotNetOpenAuth RP在SSL設備后面失敗

我與主機進行了交談,讓他們將X_FORWARDED_PROTO標頭添加到每個請求,並為其賦予值“ HTTPS”。 這解決了我們面臨的所有問題。

請與您的網絡管理員聯系,他們可能具有網絡組件(例如負載平衡器)來減輕SSL處理的負擔。 因此,您可以使用HTTP協議,也可以讓它們禁用SSL卸載,我懷疑他們可能並不是真的想要這樣做。

暫無
暫無

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

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