通过Nginx进行泛域名反代
感觉有点拗口,实际情况是这样,我们最近抓取了大量的Google Play数据,其中图片都是存在googleusercontent.com 的子域下,国内无法直接访问,所以只能在香港的VPS上做一个简单的反代,然后再在国内CDN做一个双层的反代。
Nginx的配置其实很简单
server {
resolver 8.8.8.8;
listen 80;
server_name *.google.db.ci;
if ($host ~* "(.*)\.google\.db\.ci") {
set $subdomain $1;
}
location / {
proxy_set_header Referer https://$subdomain.googleusercontent.com;
proxy_pass "https://$subdomain.googleusercontent.com";
}
}
第二种配置:
server {
listen 80;
server_name ~^(.*)\.xxx\.xxxxx\.com$;
location / {
resolver 8.8.8.8;
proxy_pass https://$1.googlevideo.com;
proxy_redirect off;
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Cookie "PREF=ID=041208f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";
}
}
server {
listen 443;
server_name ~^(.*)\.xx\.xxxx\.xxx$;
ssl on;
ssl_certificate /usr/local/nginx/conf/vhost/server/xx.crt;
ssl_certificate_key /usr/local/nginx/conf/vhost/server/xx.key;
location / {
resolver 8.8.8.8;
proxy_pass https://$1.googlevideo.com;
proxy_redirect off;
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Cookie "PREF=ID=041208f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";
}
}
暂时先不管头或者缓存,反正这样能用了。