V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
woshisongzhe
V2EX  ›  云计算

阿里云的均衡负载,貌似获取不到经过代理的客户端真实 ip

  •  
  •   woshisongzhe · 2016-08-16 11:49:50 +08:00 · 4687 次点击
    这是一个创建于 3046 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我开了阿里云的均衡负载的目的是为了能够第一时间把真实 ip 提取出来然后第一时间设置防火墙把这些恶意 ip 给屏蔽掉,但问题是测试了几天经过代理的 ip 还是看不到真实 ip ,还需后端服务器提取,究竟这么设置才能让 slb 提取到真实 ip 然后再后端通过 netstat 就能查看到真实 ip?这样,我就可以减少很多工作了,后端服务器也就更安全了
    15 条回复    2018-01-03 22:56:29 +08:00
    songw123
        1
    songw123  
       2016-08-17 09:13:24 +08:00
    XFF
    woshisongzhe
        2
    woshisongzhe  
    OP
       2016-08-17 10:25:55 +08:00
    @songw123 我在后端设置了 XFF ,但是通过命令窗口 netstat 还是抓取不到真实 ip ,要在负载均衡那设置?但是负载均衡没有让我们进去设置的入口
    cq65617875
        3
    cq65617875  
       2016-08-17 11:15:22 +08:00
    netstat 当然是看不到客户端 IP 的啊 因为访问的都是 CDN 节点的 IP 你可以在 Header 中获取到 IP
    woshisongzhe
        4
    woshisongzhe  
    OP
       2016-08-17 13:53:45 +08:00
    @cq65617875 按照这么说,对于通过代理隐藏的客户端 ip 不能通过防火墙给它封了是吗
    cq65617875
        5
    cq65617875  
       2016-08-17 15:10:26 +08:00
    @woshisongzhe 如果你走 CDN 那么你就只能从你的 WEBSERVER 来判断 IP 你可以在里面做判断进行 403 跳转 CDN 本身就有一层防火墙 你这么做的原因是要做什么
    cq65617875
        6
    cq65617875  
       2016-08-17 15:11:30 +08:00
    @woshisongzhe 妈的我貌似搞错了 你用的是 SLB 并不是 CDN (噗
    cq65617875
        7
    cq65617875  
       2016-08-17 15:16:12 +08:00
    @woshisongzhe
    如何获得来访者的真实 IP ?

    针对 7 层( HTTP 协议)服务,负载均衡通过 Http Header:X-Forwarded-For 获取来访者真实 IP ,该功能已经默认开启,无需配置,也不能修改。

    针对 4 层( TCP 协议)服务可以直接获取,无需额外配置。
    songw123
        8
    songw123  
       2016-08-17 15:53:58 +08:00
    @woshisongzhe 这种情况下,你可以在应用层做,防火墙层面很难做, iptables 不支持
    woshisongzhe
        9
    woshisongzhe  
    OP
       2016-08-17 15:57:22 +08:00
    @cq65617875 我想要的是在进入防火墙之前这个 ip 就已经暴露而不是进入防火墙之后这个 ip 才能被提取,这么做的话就减少应用层的提取真实 ip 的负担了
    woshisongzhe
        10
    woshisongzhe  
    OP
       2016-08-17 15:58:55 +08:00
    @songw123 应用层倒是能抓取到,但是增加应用层的负担,我看到 slb 说能真实抓取到 ip 我才开了 slb 试一下,但是发现在后端通过 netstat 查看不到经过代理的真实 ip
    cq65617875
        11
    cq65617875  
       2016-08-17 16:10:27 +08:00
    @woshisongzhe 是 HTTP 业务么 还是 TCP/UDP
    woshisongzhe
        12
    woshisongzhe  
    OP
       2016-08-17 16:58:41 +08:00
    @cq65617875 通过网址获取网页结果,我一直理解为是 tcp 业务,其他 UDP 什么的我都封了,只留下 tcp 协议
    cq65617875
        13
    cq65617875  
       2016-08-17 18:27:30 +08:00
    @woshisongzhe HTTP 的 SLB 不一样 没办法
    donglemon
        14
    donglemon  
       2016-09-28 09:35:45 +08:00
    用 traceroute 下,应该能抓到
    root123
        15
    root123  
       2018-01-03 22:56:29 +08:00
    @woshisongzhe 大佬,解决了么?请问如何解决的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3099 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:47 · PVG 21:47 · LAX 05:47 · JFK 08:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.