2017-03-02 46 views
0

我有一個IIS核心應用程序託管在IIS上,服務器在路由器後面。我需要檢測真實的客戶端IP。從本地網絡context.HttpContext.Connection.RemoteIpAddress返回正確的IP,但從外部始終是127.0.0.1ASP.Net核心檢測真正的客戶端IP

此外,我試圖看看X-Original-For標題,其中本地給127.0.0.1,沒有任何形式的外部。

我試圖UseForwardedHeadershttps://stackoverflow.com/a/41450563/4801505)中間件但我得到了它的中間件已經由UseIISIntegrationhttps://github.com/aspnet/Docs/issues/2384)所以使用它兩次沒有任何意義。

那麼,在我的情況下,我可以做到什麼嗎?也許需要一些IIS配置?

+0

使用'X - 轉發,For' –

+0

是你能解決這個@Slip? – Luigi

回答

0

使用外部鏈接獲取IP地址。

我最終使用

var httpClient = new HttpClient(); 
     var ip = await httpClient.GetStringAsync("https://api.ipify.org"); 

如果您正在使用C#以外的任何語言參考網站ipify