假设 nginx 在 a.com 服务器上 想要访问 http://a.com?URL=http://b.com/a.mp4 的时候返回 http://b.com/a.mp4 代理后的内容 配置文件应该怎么写 location / { proxy_pass $arg_URL; location ~* ^/_proxy/(.*)$ { proxy_pass $1;
可以通过 http://a.com?URL=http://b.com/a.mp4 和 http://a.com/_proxy/http://b.com/a.mp4 转发 location / { # 匹配带有 http 的url,然后重写(这里会返回 302) if ( $request_uri ~ "(/|=)(http.*)" ) { rewrite ^(.*)$ http://$host/_proxy$1 break; location ~* ^/_proxy/ { # 能解析转发 URL 的 DNS resolver 114.114.114.114; if ( $request_uri ~ "(/|=)(http.*)" ) { set $proxy_url $2; # 获取 host set $proxy_host $host; if ( $proxy_url ~ "https?://(.*?)/" ) { set $proxy_host $1;