请教一个 NGINX 问题,部分路径请求 http://127.0.0.1:3000,其他未定义路径访问都请求线上的服务器环境 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hhs66317
V2EX    NGINX

请教一个 NGINX 问题,部分路径请求 http://127.0.0.1:3000,其他未定义路径访问都请求线上的服务器环境

  •  
  •   hhs66317 2019-12-14 16:39:29 +08:00 4106 次点击
    这是一个创建于 2129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    标题有限,写的不太情况,这里举例说下。。

    有个测试服务器,IP 是 172.16.0.8,想通过绑定 host 的方式访问该服务器,比如:

    127.16.0.8 www.abc.com 

    该测试服务器通过 NGINX 来反向代理到本机的 http://127.0.0.1:3000 环境

    这里需求有些不常见,期望的访问效果,举例如下:

    1、访问自定义路径 http://www.abc.com/xxx/yyy.php 时,反向代理到 http://127.0.0.1:3000 2、访问其他路径,比如 http://www.abc.com/1/2/3.php 时,转发到线上环境的 http://www.abc.com/1/2/3.php

    总之就是只有明确指定的路径才会反向代理到 http://127.0.0.1:3000,其他的都直接请求线上环境。

    如果有描述不清楚的地方,请指正,谢谢!

    9 条回复    2019-12-24 15:13:46 +08:00
    paragon
        1
    paragon  
       2019-12-14 17:04:33 +08:00
    这个你定义两个 location 不就行了嘛?
    nightwitch
        2
    nightwitch  
       2019-12-14 17:19:20 +08:00
    伪代码
    location xxx
    {
    proxy_pass 127.0.0.1:3000
    }
    location /
    {
    root_path xxxxxx
    }
    xiri
        3
    xiri  
       2019-12-14 18:09:10 +08:00
    把 proxy_pass 放在单独的 location 里面不就行了吗,不过要注意一下 location 的匹配优先级
    hhs66317
        4
    hhs66317  
    OP
       2019-12-15 11:46:20 +08:00 via Android
    @nightwitch 这个 root_path 可以写 http://www.abc.com
    hhs66317
        5
    hhs66317  
    OP
       2019-12-15 11:47:55 +08:00 via Android
    @paragon 主要是不知道怎么让其他请求通过 Nginx 转发到线上环境
    realpg
        6
    realpg  
    PRO
       2019-12-15 12:36:26 +08:00
    找一个会基础 nginx 配置的人吧
    我觉得你这些需求 50 块钱就能解决问题
    Hanada
        7
    Hanada  
       2019-12-15 12:56:42 +08:00 via Android
    @hhs66317 你的那个是线上环境的话继续用 proxy_pass 反向代理你的 http://www.abc.com
    AlbertSun
        8
    AlbertSun  
       2019-12-15 22:20:12 +08:00
    我想我大概理解你的意思了,这样试试:
    server {
    listen 80;
    server_name www.abc.com;
    location /xxx {
    proxy_pass http://127.0.0.1:3000;
    # 其余代码
    }
    location / {
    proxy_pass http://www.abc.com;
    # 其余代码
    }
    }
    前提是 127.16.0.8 这台服务器不要修改 www.abc.com 的 host。
    hhs66317
        9
    hhs66317  
    OP
       2019-12-24 15:13:46 +08:00
    感谢各位,解决了我的问题!

    最近杂事较多,才想起来过来看看,惭愧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     939 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 22:58 PVG 06:58 LAX 15:58 JFK 18:58
    Do have faith in what you're doing.
    ubao 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