Whitelist nginx proxy_pass $ args

1

Eu tenho o nginx configurado para solicitações de proxy:

server  {
    listen      80;
    server_name proxy.mydomain.com;

    location /proxy {
        resolver 8.8.8.8;
        proxy_pass $args/;
    }
}

Para que eu possa fazer solicitações como: link

Gostaria de controlar qual domínio pode ser intermediado por proxy. Eu não sei como fazer isso sem um se .

    
por Bastien974 05.06.2014 / 16:33

1 resposta

0

Eu uso / em vez de ? , como proxy para www.test.com/xyz , seria http://proxy.mydomain.com/proxy/www.test.com/xyz

server {
    listen 80;
    server_name proxy.mydomain.com;

    location ~ ^/proxy/(?<proxy_host>[^/]+)/(?<proxy_path>.+)$ {
        proxy_pass http://$proxy_host/$proxy_path?$args;
    }
}
    
por 06.06.2014 / 03:51