我已将 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
我想控制允许代理哪些域名。我不知道如何在没有如果。
答案1
我使用/
而不是?
,来代理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;
}
}