正常情况下, pixiv 的图片服务器域名为 i.pximg.net,因为有防盗链保护,只要 Referer 是空值或不是來自 pixiv 的域名就会返回403。
使用nginx反向代理只需要將 www.pixiv.net 设置到 Referer中就可以直接访问图片了
proxy_cache_path /path/to/cache levels=1:2 keys_zone=pximg:10m max_size=10g inactive=7d use_temp_path=off;
server {
listen 443 ssl http2;
ssl_certificate /path/to/ssl_certificate.crt;
ssl_certificate_key /path/to/ssl_certificate.key;
server_name i.pixiv.cat;
access_log off;
location / {
proxy_cache pximg;
proxy_pass https://i.pximg.net;
proxy_cache_revalidate on;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
proxy_cache_lock on;
add_header X-Cache-Status $upstream_cache_status;
proxy_set_header Host i.pximg.net;
proxy_set_header Referer "https://www.pixiv.net/";
proxy_cache_valid 200 7d;
proxy_cache_valid 404 5m;
}
}
http://localhost/img-original/img/2017/12/20/00/12/19/66360679_p0.png