V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
chen7228413
V2EX  ›  Linux

求助, nginx 重定向的问题

  •  
  •   chen7228413 · Jan 16, 2019 · 2476 views
    This topic created in 2665 days ago, the information mentioned may be changed or developed.
    需求访问 http://xxx.com/xxxx?src=http://yyy.com/ccccc?xsdfsa 重定向到 http://yyy.com/ccccc?xsdfsa

    就是 nginx 匹配 args src=http://yyy.com/ccccc?sxdfsa , 重定向到 http://yyy.com/ccccc?sxdfsa

    我试过 if ($args ~* src=(\w+?)(&|$)) {
    set $src $1 ;
    }
    rewrite ^ $src redirect ;
    但是 nginx 会报重定向次数过多

    请问 V 友们有没有办法
    3 replies    2019-01-17 17:11:28 +08:00
    ppyybb
        1
    ppyybb  
       Jan 16, 2019 via iPhone
    没用过 nginx 重定向,提供一些思路

    重定向过多是不是陷入反复循环造成的?
    你如果直接访问重定向后的地址会怎么样?
    浏览器能看到实际访问哪些地址吗?
    mason961125
        2
    mason961125  
       Jan 16, 2019
    为什么 query string 表示的重定向要在 nginx 里做呢?
    chen7228413
        3
    chen7228413  
    OP
       Jan 17, 2019
    这个问题解决了,看到有人收藏 把配置贴在下面把
    if ( $query_string ~* ^(.*)src=(.*)$) {
    set $src $2;
    proxy_pass $src/;
    }
    Ngnix 中如果用变量作为反向代理的地址时,会出现无法解析域名,在 http 的配置中加上下面这段配置即可
    resolver 8.8.8.8 ipv6=off;
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2897 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 103ms · UTC 06:28 · PVG 14:28 · LAX 23:28 · JFK 02:28
    ♥ Do have faith in what you're doing.