.net core 2.0 获取反向代理客户端IP

版权所有,禁止匿名转载;禁止商业使用。


HttpContext.Request.Headers中是"X-Forwarded-For",示例代码如下:

public string getRemoteIp()
  {
        var ip = httpContextAccessor.HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault();
       if (string.IsNullOrEmpty(ip))
          {
              ip = "*.*.*.*";
          }
         return ip;
 }



现在可以用域名 + 端口号直接访问这个 Node.js 服务,再配一个 Nginx 反向代理:

location / {
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Host $http_host;
     proxy_set_header X-NginX-Proxy true;
     proxy_pass http://127.0.0.1:9009/;
     proxy_redirect off;
 }


0 0