.net 在nginx下获取到的客户端ip是127.0.0.1

发布于 2021-12-07 05:33:15 字数 1280 浏览 772 评论 1

获取到的ip是127.0.0.1

在配置文件中加入了:

server {
        listen       80;
        server_name  ws.5iyaya.com;

        charset utf-8;

        location / {
            proxy_pass   http://ws.5iyaya.com;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

C#中获取ip

string _ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

            System.Web.HttpRequest requset = System.Web.HttpContext.Current.Request;
            

            // If there is no proxy, get the standard remote address
            if (_ip == null || _ip.ToLower() == "unknown")
                _ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

System.Web.HttpContext.Current.Request.ServerVariables["X-Forwarded-For"]

不是127,就是空的

也重启过nginx了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一人独醉 2021-12-07 13:05:47

我是这样配置的

location / {
    proxy_pass http://localhost:5000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection keep-alive;
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

没发现会取不到IP。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文