用nginx做反向代理来访问防外链图片
女儿的博客从新浪搬到wordpress后,发现原来博客上链接的新浪相册的图片都不能访问了,一年的博客内容,一个个去重新上传图片,修正链接也是个大工程。还是得先想个其它办法。
想想防外链大都是通过检查请求中的http referer来实现的。如果通过反向代理来动态指定http referer是不是可以解决问题。马上做实验,没错,方法对新浪相册用效。
那接着就是搭一个反向代理了,nginx的名声现在是越来越大,资源也占用小。先用它吧。
location /get/ {
set $hostx “”;
set $addrs “”;
if ( $uri ~ “^/get/http./+([^/]+)/(.+)$”)
{
set $hostx $1;
set $addrs $2;
}
resolver 127.0.0.1;
proxy_pass http://$hostx/$addrs;
proxy_set_header referer “http://$hostx“;
}
注意resolver要指向一个有效的dns服务器。
这时就可以用http://nginx-server/get/sina-photo-url来访问新浪图片了。
改链接的方法可以是从wordpress导出xml文件,做字符串替换后再导入就可以了。
相关文章: 反向代理(Reverse Proxy)带来的主机名端口问题及解决 灵活运用Apache反向代理 Setting up a reverse proxy configuration with SSL 反正代理的内容过滤变换 如何对压缩网页通过反向代理做内容变换