nutting
V2EX  ›  问与答

这个 nginx 转发怎么写

  •  
  •   nutting · Jul 29, 2021 · 1978 views
    This topic created in 1768 days ago, the information mentioned may be changed or developed.
    location /xxx 转发到 xxx.com
    但是到 xxx.com 以后,我要去掉 xxx

    比如 /xxx/a/b ------> xxx.com/a/b
    a/b 只是举例,可能还有别的,要一条规则全部匹配
    5 replies    2021-07-30 09:11:39 +08:00
    learningman
        1
    learningman  
       Jul 29, 2021 via Android
    location /xxx/就好
    ericwood067
        2
    ericwood067  
       Jul 29, 2021
    location /(xxx)(.*) {
    proxy_pass xxx.com/$2;
    }
    crystom
        3
    crystom  
       Jul 30, 2021   ❤️ 1
    location 和 proxypass 两个地方末尾有没有斜杠,4 种组合不同结果,自己试试就知道了
    handsomezai
        4
    handsomezai  
       Jul 30, 2021   ❤️ 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
       Jul 30, 2021
    我是提问的,这个问题全在细节啊。经过测试,rewrite 肯定不能用,虽然正则生效,但是重定向了,不是我要的代理转发。然后 location 确实 是 /xxx/ 一定要有 /,下一步关键是 proxy_pass http://xxx.com/; 最后也得有 / ,稍微不对就不行。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1116 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:21 · PVG 02:21 · LAX 11:21 · JFK 14:21
    ♥ Do have faith in what you're doing.