.net 5 獲取用戶真實IP(nginx)

環境 centos,docker,nginx,.net 5

1. 配置Nginx

   server {
        listen 80;
        server_name www.xxx.cn;
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr; #爲防止Ip僞造 如多個代理在最外層設置 remote_addr 其他代理設置$proxy_add_x_forwarded_for;
            proxy_pass http://localhost:xxx/;
        }
        error_page   500 502 503 504  /50x.html;
    }

修改完成後nginx -s reload 重新加載配置文件
2. 代碼添加配置

  app.UseForwardedHeaders(new ForwardedHeadersOptions
      {
         ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
      });

3. 使用原始方法獲取IP地址
var ip = context.HttpContext.Connection.RemoteIpAddress.ToString()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章