首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RedRoute
V2EX  ›  程序员

想请教一个 Nginx 反向代理跳转的问题

  •  
  •   RedRoute · 11 天前 · 1047 次点击

    大家好,工作中遇到一个棘手的小问题,由于时间比较急,没查到详细的信息,所以想请教一下大家,谢谢啦

    如何用 nginx 将 IP 地址 /api/ 代理到 IP 地址 / ? 例子:IP 地址 /api/user/userlist 代理到 IP 地址 /user/userlist

    10 条回复    2020-05-23 08:51:44 +08:00
    lower
        1
    lower   11 天前
    好像要用 rewrite
    fcxjluo
        2
    fcxjluo   11 天前
    location /api/user/userlist {
    rewrite /api/user/userlist /user/userlist break;
    proxy_pass http://ip;
    }
    fcxjluo
        3
    fcxjluo   11 天前
    location /api/user/userlist {
    rewrite /api/(.*) /$1 break;
    proxy_pass http://ip;
    }
    ragnaroks
        4
    ragnaroks   11 天前
    google: proxy_pass
    RedRoute
        6
    RedRoute   11 天前 via Android
    @fcxjluo 非常感谢,后面我会好好学习一下的

    @ragnaroks 最近有点严,所以没出去查

    @foam 感谢分享,博客还蛮漂亮的,嘻嘻
    foam
        7
    foam   10 天前
    @RedRoute 欢迎白天再来看看,是另一个模式哦
    zhengjian
        8
    zhengjian   10 天前
    https://xuexb.github.io/learn-nginx/example/proxy_pass.html

    摘抄:

    // 访问: /api/ 后端: /
    // 访问: /api/xx 后端: /xx
    // 访问: /api/xx?aa 后端: /xx?aa
    // 访问: /api-xx?aa 未匹配
    location /api/ {
    proxy_pass http://node:8080/;
    }
    hstv
        9
    hstv   10 天前
    @zhengjian 这个正解。
    location /api/ {
    proxy_pass http://ip; #会指向 http://ip/api/user/userlist
    proxy_pass http://ip/; #会指向 http://ip/user/userlist
    }
    RedRoute
        10
    RedRoute   10 天前
    @zhengjian
    @hstv
    location /api/ {
    proxy_pass http://node:8080/;
    }
    感谢二位了,这个解法是对的,http://ip:8080/api/test 转发到 http://ip:8080/test,因为 IP 地址就是服务器地址,所以
    后来实现的写法是这样的

    server {
    listen 8080;
    root /abc/def;
    location / {
    index index.html;
    }
    location /api/ {
    proxy_pass http://127.0.0.1:8080/;
    }
    }
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2864 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:29 · PVG 23:29 · LAX 08:29 · JFK 11:29
    ♥ Do have faith in what you're doing.