问题标签 [x-forwarded-for]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
769 浏览

http - Web 基础设施应该重置“x-forwarded-*”标头吗?

给定一个网络基础设施,具有:

WEB --> HTTP 代理 --> NGINX --> PHP

我们使用 Php 中的 "X-forwarded-{for,host} 来获取真实的 IP 和主机。但有时,我们得到了错误的值,我发现可以像这样设置这些字段:

作为开发人员,我无权访问 haproxy/nginx 配置和我们的基础设施。伙计们说这是开发商的错。

因此我的问题是,前端 HTTP 代理应该在将查询代理到应用服务器之前删除用户“X-forwarded”字段吗?

0 投票
0 回答
1520 浏览

c# - 通过 X-Forwarded-For 从负载均衡服务器获取客户端的 IP 地址

我在负载平衡服务器上有 MVC 应用程序,我想设置真实客户端的 IP 地址。我在自定义标头上添加了“X-Forwarded-For”,并使用下面的 c#.net 代码获取 IP 地址,但它返回 null。请帮助我如何检查或如何做。谢谢你。

添加自定义标题:

c#.net 代码:

0 投票
0 回答
63 浏览

web-applications - x-forwaded-for 添加到 http 请求头

我的 Web 应用程序未在 HTTP 请求中返回“x-forwarded-for”标头。我需要使用此标头将客户端 IP 标识为应用程序,否则使用 getRemoteAddr() 返回负载平衡器/代理 IP。

0 投票
2 回答
4546 浏览

php - Nginx 位置块访问列表和“X-Forwarded-For”

我在负载平衡的 Nginx 集群上有几个 wordpress 站点。我希望在这些上阻止对 /wp-admin 和 /wp-login.php 的访问。客户不愿意使用 Wordfence 之类的插件来实现这一点(可以理解)。

负载均衡器在 X-Forwarded-For 中转发真实的客户端 IP,这存在于 Nginx 中,因为我目前在我的主要日志格式中使用它与"$http_x_forwarded_for"

这是我当前的位置块:

如您所见,我使用“real_ip_header X-Forwarded-For;” 声明真正的IP应该是什么。但这不起作用。有了上述内容,所有对那里的请求都会被阻止。如果我取消注释私有10.10.85.0/24子网(这是从负载均衡器传送流量的私有网络),那么每个人都可以访问这些位置。

我确实在 Nginx 中编译了 realip 模块,如下所示:

在我的日志文件中,我可以看到通过使用 X-Forwarded-For 打印到日志的真实公共 IP,但同样不适用于这个位置块 realip,我不知道为什么。

如果重要的话,环境如下所示:

  • pfSense 固件(2 节点 HA)
  • Zevenet 负载均衡器(2 节点 HA)
  • CentOS 6.x Web 服务器(3 节点集群)

网络堆栈是:

  • Nginx v1.12.0
  • PHP-FPM v7.0.20 (fastcgi)

关于我做错了什么的任何建议都会很棒。谢谢。

0 投票
1 回答
651 浏览

amazon-web-services - 使用 Checkpoint IPS 基于 x-forwarded-for 阻止流量

假设 http/https 请求来自 AWS 弹性负载均衡器后面的客户端,因此 Checkpoint 将负载均衡器的 IP 地址视为请求的来源。是否可以在请求中使用 x-forwarded-for 标头在 Checkpoint 中配置访问策略规则?

我看到还有一些其他帖子讨论了如何使用 IIS 处理这个问题,但我还没有找到 Checkpoint 的解决方案。

0 投票
1 回答
375 浏览

socket.io - 为什么'socket.handshake.headers['x-forwarded-for'] || socket.handshake.address' 会产生 2 个 IP 地址?

socket.io用来获取IP地址:

ip 变量设置为值:“124.202.182.82,100.116.251.26”

为什么arr的最后一个元素中有两个IP地址?

0 投票
1 回答
915 浏览

amazon-web-services - 在 ALB 后面获取亚马逊网络 IP 而不是实际客户端 IP(Xforward 原型)

您好社区成员,

我正在为我的电子商务网站使用 ALB(应用程序负载均衡器)。在负载均衡器后面有两个 ec2-linux 实例,它们通过 ALB 获取客户端流量(两个 ec2 实例上都有 Web 服务器 tomcat7)。

我正在使用 X-Forwarded-For 标头来获取我的 ec2 实例上的实际客户端 IP,这在获取客户端 IP 方面工作正常。我 70% 的客户端 IP 是访问我网站的支付页面的实际客户端 IP(我正在我的电子商务网站上进行产品销售。)

30% 的 IP 是 AWS 网络操作 IP,就像下面的 ip 那些 Ec2 网络 IP 也在访问我网站的付款页面(但我没有从这些亚马逊网络 IP 获得任何生产销售)

请在此处查看以上 4 个示例 URL 组织名称:Amazon Technologies Inc.

组织技术名称:Amazon EC2 网络运营


所以我很困惑为什么我得到亚马逊网络IP(这些亚马逊ec2网络IP是实际客户端和亚马逊ALB之间的路由器还是这些IP是负载均衡器的IP而不是客户端IP:我的java代码在下面给出以获取客户端IP )我是否应该在亚马逊 ALB 上使用 aws waf 阻止它们。如果我阻止他们,我最终会失去实际的客户流量吗?

或者为什么我在使用 x-forward-for 标头时没有获得所有流量的 30% 的客户端真实 IP?我的Java代码是:

我只想保存实际访问我网站的真实客户端 IP(使用 x-forward 标头)。X-Forward 标头是否提供空值?

问候, 尤格迪普

0 投票
4 回答
914 浏览

.htaccess - 我正在使用 CloudFlare。如何使用 .htaccess 阻止对我的站点管理员的访问,但我的 IP 地址除外

我的应用程序在位于 cloudflare 后面的 ubuntu 服务器上运行。example.com/admin如果访问者不是来自我的 IP,我想重定向请求以显示 404123.1.2.3

我试过这个 我也试过使用

但他们都没有工作。
我已经安装了 mod_cloudflare

0 投票
1 回答
955 浏览

header - 如何在提琴手的请求标头中添加客户端IP

我正在使用 fiddler 作为反向代理,我想在请求标头中转发客户端 ip,以便服务器可以像这样获取它:

但是我不知道我应该设置的变量名,有人可以帮我吗?非常感谢。

0 投票
0 回答
397 浏览

nginx - Nginx 阻止负载均衡器后面的 IP 不起作用

我在 Google Cloud (1.1.1.1) 中运行 Nginx 1.12.2 网络服务器,并带有从客户端 (3.3.3.3) 访问的 GCP (2.2.2.2) 负载均衡器。我试图只允许来自负载均衡器的 IP 或客户端 IP 的流量,但是当我尝试时它会阻止所有流量。

这是我的 nginx.conf:

在 http:

在服务器中:

blockips.conf我有:

但是,当我向 Web 服务器发出请求时,它不会使用负载均衡器或客户端的 IP,而是使用不同的 IP。

在 X-Forwarded-For 中出现我需要的两个 IP:

我究竟做错了什么?

提前致谢。