通过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"; } }
暂时先不管头或者缓存,反正这样能用了。