0
user --> internet --> server1 (iis proxy) --> server2 (hosting the website)
我想獲取絕對網址。asp.net mvc獲取絕對網址(代理後)
string fullUrl = Url.Action("Bar", "Foo", new RouteValueDictionary(new { id = pid, search = search }), Request.Url.Scheme);
string fullUrlEncoded = HttpUtility.UrlEncode(fullUrl);
但是現在不是我收到內部IP這絕對URL:
http://192.168.0.3/Foo/Bar/5
這可怎麼
下面的代碼也沒有,當我們不使用代理的任何問題工作解決了?
實際上,我不認爲有任何事情可以做。應用程序將無法查看使用它的反向代理。如果你絕對需要絕對URL,你可能不得不簡單地使用應用程序設置進行硬編碼。然後,您可以創建一個UrlHelper擴展來讀取該值並根據此值構建一個真正的絕對URL。 –
應用程序設置的好處是您可以通過配置轉換更改值。 –
您可能會調查代理是否正在設置X-Forwarded-For標頭。如果沒有,配置它可能會產生更好的結果。 –