У меня nginx настроен на запросы прокси:
server {
listen 80;
server_name proxy.mydomain.com;
location /proxy {
resolver 8.8.8.8;
proxy_pass $args/;
}
}
Поэтому я могу сделать такой запрос: http://proxy.mydomain.com/proxy?http://www.test.com
Я хочу контролировать, какой домен можно использовать для проксирования. Я не знаю, как это сделать без если.
я использую /
вместо того ?
, прокси на www.test.com/xyz
, это было бы 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;
}
}