V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nutting
V2EX  ›  问与答

这个 nginx 转发怎么写

  •  
  •   nutting · 2021-07-29 20:09:43 +08:00 · 1328 次点击
    这是一个创建于 1216 天前的主题,其中的信息可能已经有所发展或是发生改变。
    location /xxx 转发到 xxx.com
    但是到 xxx.com 以后,我要去掉 xxx

    比如 /xxx/a/b ------> xxx.com/a/b
    a/b 只是举例,可能还有别的,要一条规则全部匹配
    5 条回复    2021-07-30 09:11:39 +08:00
    learningman
        1
    learningman  
       2021-07-29 20:13:42 +08:00 via Android
    location /xxx/就好
    ericwood067
        2
    ericwood067  
       2021-07-29 20:17:13 +08:00
    location /(xxx)(.*) {
    proxy_pass xxx.com/$2;
    }
    crystom
        3
    crystom  
       2021-07-30 00:19:12 +08:00   ❤️ 1
    location 和 proxypass 两个地方末尾有没有斜杠,4 种组合不同结果,自己试试就知道了
    handsomezai
        4
    handsomezai  
       2021-07-30 08:50:40 +08:00   ❤️ 1
    location ^~/xxx/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_read_timeout 600s;
    proxy_pass http://xxx.com/;
    }
    nutting
        5
    nutting  
    OP
       2021-07-30 09:11:39 +08:00
    我是提问的,这个问题全在细节啊。经过测试,rewrite 肯定不能用,虽然正则生效,但是重定向了,不是我要的代理转发。然后 location 确实 是 /xxx/ 一定要有 /,下一步关键是 proxy_pass http://xxx.com/; 最后也得有 / ,稍微不对就不行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5167 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.