问题标签 [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.
http - Web 基础设施应该重置“x-forwarded-*”标头吗?
给定一个网络基础设施,具有:
WEB --> HTTP 代理 --> NGINX --> PHP
我们使用 Php 中的 "X-forwarded-{for,host} 来获取真实的 IP 和主机。但有时,我们得到了错误的值,我发现可以像这样设置这些字段:
作为开发人员,我无权访问 haproxy/nginx 配置和我们的基础设施。伙计们说这是开发商的错。
因此我的问题是,前端 HTTP 代理应该在将查询代理到应用服务器之前删除用户“X-forwarded”字段吗?
c# - 通过 X-Forwarded-For 从负载均衡服务器获取客户端的 IP 地址
我在负载平衡服务器上有 MVC 应用程序,我想设置真实客户端的 IP 地址。我在自定义标头上添加了“X-Forwarded-For”,并使用下面的 c#.net 代码获取 IP 地址,但它返回 null。请帮助我如何检查或如何做。谢谢你。
添加自定义标题:
c#.net 代码:
web-applications - x-forwaded-for 添加到 http 请求头
我的 Web 应用程序未在 HTTP 请求中返回“x-forwarded-for”标头。我需要使用此标头将客户端 IP 标识为应用程序,否则使用 getRemoteAddr() 返回负载平衡器/代理 IP。
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)
关于我做错了什么的任何建议都会很棒。谢谢。
amazon-web-services - 使用 Checkpoint IPS 基于 x-forwarded-for 阻止流量
假设 http/https 请求来自 AWS 弹性负载均衡器后面的客户端,因此 Checkpoint 将负载均衡器的 IP 地址视为请求的来源。是否可以在请求中使用 x-forwarded-for 标头在 Checkpoint 中配置访问策略规则?
我看到还有一些其他帖子讨论了如何使用 IIS 处理这个问题,但我还没有找到 Checkpoint 的解决方案。
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地址?
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 标头是否提供空值?
问候, 尤格迪普
.htaccess - 我正在使用 CloudFlare。如何使用 .htaccess 阻止对我的站点管理员的访问,但我的 IP 地址除外
我的应用程序在位于 cloudflare 后面的 ubuntu 服务器上运行。example.com/admin
如果访问者不是来自我的 IP,我想重定向请求以显示 404123.1.2.3
我试过这个 我也试过使用
但他们都没有工作。
我已经安装了 mod_cloudflare
header - 如何在提琴手的请求标头中添加客户端IP
我正在使用 fiddler 作为反向代理,我想在请求标头中转发客户端 ip,以便服务器可以像这样获取它:
但是我不知道我应该设置的变量名,有人可以帮我吗?非常感谢。
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:
我究竟做错了什么?
提前致谢。