基于url参数的Nginx动态代理


11

我正在从要在3D WebGL画布中使用的外部站点加载图像。但是由于原产地,这是不允许的。

我从网页生成的URL如下:

http://domain/somename/imagesproxy?url=http%3A%2F%2Fanothersite%2Fimage.png

现在,我想proxy_pass假设请求中包含的URL。

location /somename/imagesproxy {
     proxy_pass  ...
     proxy_set_header  host localhost;
}

如何让Nginx动态代理到不同的URL


据我了解,nginx并非设计为正向代理,但是如果可能的话,我想使用nginx解决方案。
sphvn 2012年

Answers:



0
location = / {
    if ($args ~ "^url=(.+)") { #gets the "url" get parameter
        set $key1 $1;
        proxy_pass $key1; #use the parameter as proxy address
    }
}

3
这个答案需要解释。
kasperd '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.