nginx 怎么配置只允许: [①某些域名解析 且只能 ②被某一台 nginx 服务器代理] - V2EX
redam
V2EX    NGINX

nginx 怎么配置只允许: [①某些域名解析 且只能 ②被某一台 nginx 服务器代理]

  •  1
     
  •   redam Nov 15, 2019 4229 views
    This topic created in 2375 days ago, the information mentioned may be changed or developed.
    ①我是会的,但是①+②死活配不出来,有懂的 v 友吗?谢谢了
    13 replies    2019-11-18 10:31:26 +08:00
    akira
        1
    akira  
       Nov 15, 2019
    1+2 是啥意思
    jybox
        2
    jybox  
       Nov 15, 2019   1
    ① 配一个 default_server 拒掉所有请求
    ② allow 1.2.3.4; deny all
    redam
        3
    redam  
    OP
       Nov 15, 2019
    @akira 就是同时满足 1 和 2
    redam
        4
    redam  
    OP
       Nov 15, 2019
    @jybox emmmm,好像不行,我的意思是通过我自己的域名可以访问这台服务器,其他域名想解析进来不行;同时,我也希望这台服务器能被自己的另一台服务器所代理,其他不认识的进不来。可以详细点嘛?谢谢啦
    wangyzj
        5
    wangyzj  
       Nov 15, 2019
    禁止 IP 访问
    只允许你的域名
    俩服务之间 iptables 只允许互相 80,443 访问
    CivAx
        6
    CivAx  
       Nov 15, 2019
    这标题我看了 5 分钟没看懂…

    * 只通过你的域名可以访问这台服务器( IP ),其他域名解析进来不行
    靠北,你其他域名不要在 A 记录里写这台服务器的 IP 不就得了…

    如果你的这台服务器在别人的 NGINX 之后,你在前置 NGINX 上写专门对应监听的 conf 文件,locaiton 里 pp 到指定服务器 IP 就好了嘛
    smilzman
        7
    smilzman  
       Nov 15, 2019
    2 楼说的对,百度禁止空主机头
    redam
        8
    redam  
    OP
       Nov 15, 2019
    emmm,情况是这样的,A 服务器我用 default_server 去防止恶意域名解析,然后发现,我的另一台 B 服务器想转发请求到这台 A 服务器(通过 passproxy ),发现都是 502,根本做不了代理
    dier
        9
    dier  
       Nov 15, 2019   1
    在 B 服务器上用 proxy_pass A 对外的域名,来代理。
    Livid
        10
    Livid  
    MOD
    PRO
       Nov 16, 2019   1
    @redam proxy_pass 之前有没有 proxy_set_header Host ?
    eason1874
        11
    eason1874  
       Nov 16, 2019   1
    一、A 服务器增加一个 default.conf 禁止 Nginx conf 未绑定的域名。

    server {
    listen 80 default_server;
    server_name _;
    return 444;
    }

    二、其他服务器代理的时候,如果是 proxy_pass 用的是服务器 IP,那么必须指定正确的 A 服务器域名作为 host 头,比如你 IP 是 1.2.3.4,域名是 a.com ,你可以这么配置:

    proxy_pass http://a.com/;

    或者这么配置:

    proxy_pass http://1.2.3.4/;
    proxy_set_header Host "a.com";

    总之,Host 要正确,用域名的时候自动加了 host 头所以不用手动指定,用 IP 的时候就必须要手动指定。用域名也有一个地方要注意,服务器要能解析到正确的 IP,所以如果上游服务器是自己的一般还是用 IP 然后指定 host 头。

    三、通过指定 default_server 可以解决其他域名恶意解析到 A 服务器的问题。

    至于其他服务器恶意反代你 A 域名的问题,只要你 A 域名提供公开访问,那就没办法通过配置禁止反代,因为反代能配置得跟真实用户一样。

    如果有人一心要反代你的网站,你只能跟他们斗智斗勇,经常更新反制措施来加大他们的反代成本。

    举几个例子:

    1、你把反代 IP 抓出来屏蔽,那对方得上代理或者拨号 VPS。
    2、你通过 JS 判断域名跳转,那对方得加 filter 修改你的代码。
    3、你隐藏关键内容要求用户输入验证码,那对方还得反代验证码。
    redam
        12
    redam  
    OP
       Nov 18, 2019
    @Livid 这样确实可以,感谢感谢
    redam
        13
    redam  
    OP
       Nov 18, 2019
    @eason1874 确实是这样,感谢感谢,很详细
    About     Help     Advertise     Blog     API     FAQ     Solana     901 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 22:33 PVG 06:33 LAX 15:33 JFK 18:33
    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