nginx反向代理後應用程序如何獲取客戶端真實IP

每一個location中增長配置:服務器

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;代理

解釋如下上面的配置,以上配置是在Nginx反向代理的時候,添加一些請求Header。 
1. Host包含客戶端真實的域名和端口號; 
2. X-Forwarded-Proto表示客戶端真實的協議(http仍是https); 
3. X-Real-IP表示客戶端真實的IP; 
4. X-Forwarded-For這個Header和X-Real-IP相似,但它在多層代理時會包含真實客戶端及中間每一個代理服務器的IP。code

ASP.NET能夠經過取header中X-Real-IP獲得真實ip:RequestContext.HttpContext.Request.Headers.Get("X-Real-IP")blog

相關文章
相關標籤/搜索