请问如何优雅的利用根据内外网 IP 禁止一些资源的访问? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ksupertu
V2EX    NGINX

请问如何优雅的利用根据内外网 IP 禁止一些资源的访问?

  •  
  •   ksupertu 2015-03-16 09:43:38 +08:00 3807 次点击
    这是一个创建于 3870 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Nginx新手,最近由于需要替换网站的一个搜索功能到一台ElasticSearch服务器上,将原本直接对外网服务的服务器转移至内网环境(Tomcat),在前面架设了一个Nginx做反向代理;这带来了一个问题就是原有的一个其它网站内拥有的判断内外网ip地址来限制全文资源获取的功能变成了形同虚设,因为所有的流量都来自内网了,求问如何在不改原网站的代码的情况下,利用Nginx对这类资源精确的根据ip禁止?拜谢!
    9 条回复    2015-03-17 00:13:26 +08:00
    kurten
        1
    kurten  
       2015-03-16 09:50:27 +08:00
    nginx有x-real-ip,把来路的ip地址直接发送给后端,后端可以直接用这个判断。
    或者,前端nginx做location的规则判断也可以的。具体规则参看nginx的wiki。
    ryd994
        2
    ryd994  
       2015-03-16 10:04:27 +08:00
    http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header
    proxy_set_header $remote_ip;
    也可以用http_geo分流
    ksupertu
        3
    ksupertu  
    OP
       2015-03-16 11:39:27 +08:00
    @kurten
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;已设置,我说明里写了不改代码~
    ksupertu
        4
    ksupertu  
    OP
       2015-03-16 11:42:37 +08:00
    @ryd994 你所说的我已经设置了,利用Location规则误杀面太大,目前配置的规则就是allow 10.0.0.0/8;
    allow 10.0.0.0/8;
    allow 172.16.0.0/12;
    allow 192.168.0.0/16;
    proxy_pass http://192.168.5.3:808;
    deny all;
    想实现的是更精确的控制,原有系统在外网ip访问状况下会提示禁止访问
    15ir
        5
    15ir  
       2015-03-16 13:06:41 +08:00
    “如何优雅的...”

    知乎的既视感。
    ryd994
        6
    ryd994  
       2015-03-16 13:12:52 +08:00 via Android
    @ksupertu error_page 404
    ksupertu
        7
    ksupertu  
    OP
       2015-03-16 14:13:46 +08:00
    @ryd994 不是这个意思……我指的是更精确的资源控制……
    ryd994
        8
    ryd994  
       2015-03-16 21:12:33 +08:00 via Android
    @ksupertu 那就只有加forwarded_for了
    如果后面用的也是Nginx的话,就用realip恢复ip信息http://nginx.org/en/docs/http/ngx_http_realip_module.html
    billwang
        9
    billwang  
       2015-03-17 00:13:26 +08:00 via Android
    貌似有内容访问管理系统,大概就是这个叫法吧,可以深度屏蔽用户访问内容,是一个硬件,当然就是个服务器安装了些软件。我这边上过这个东东,不过没有启用。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2553 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:19 PVG 10:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86