前言:为什么选择Nginx?
目前,现有的方案中最流行的是Cloudflare Worker反代pixiv的i.pximg.net。这个方法是很好,但是woker的请求还是有限的(虽然每日10w次的请求个人使用其实绰绰有余了),而且容易出现pixiv找上门然后被封号的问题,因此把这种重要的资源掌握在自己手里还是非常有必要的。然后为什么是nginx?因为好用,而且也有现成的方案。其中应用最早且最流行的是“Mashiro”白猫大佬的nginx反代pixiv工具,但是本篇nginx反代和白猫大佬的反代项目无关,这里只是给大家讲一个现状以及市面上的好用案例。
第一步:准备一个能够顺利连上pixiv的服务器
这步看起来像是废话但是却非常关键。最好的办法就是服务器肉身离境,或者就使用“魔法”,亦或是使用白猫大佬的项目然后再想办法修改nginx的config。“幻梦”这边就直接使用魔法了。
第二步:进入你的1panel面板
标题已经写了,这个是使用1panel面板部署nginx反代,我都看到宝塔面板的反代教程了(虽然那个教程是全局反代,而且因为pixiv的升级已经过期了)我们1panel什么时候才能站起来。
确定应用商店中安装好了Openresty
在网站中创建一个反代服务,主域名后面可以更具需求添加端口号如:
example.com:8848
协议选
https
,代理地址为i.pximg.net
确定保存
为你的反代域名申请一个ssl证书
主域名填刚刚反代服务写的主域名,如
example.com
acme账户省事就选Let's Encrypt
验证方式选择dns,dns账号更具你的dns解析服务商提供的API进行填写
勾选自动续签
勾选跳过DNS校验
确认,等待完成证书完成申请
网站选项卡点击刚刚部署的网站
example.com
选择HTTPS,启用https。
ssl选项选择已有证书,acme账户选择刚刚申请的Let's Encrypt账户或者别的账户
证书选择刚刚申请的证书
保存
继续选择反向代理
点击编辑
开启缓存
开启回源SNI
proxy_ssl_name
填写i.pximg.net
后端代理地址选择
https
填写i.pximg.net
(默认情况下已填好),后端域名填写i.pximg.net
确定
先不要走,还是反向代理的选项内,点击源文
增加一条
proxy_set_header Referer "https://www.pixiv.net/";
最后源文大致如下
location ^~ / {
proxy_pass https://i.pximg.net;
proxy_set_header Host i.pximg.net;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Referer "https://www.pixiv.net/";
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
proxy_ssl_server_name on;
proxy_ssl_name i.pximg.net;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) {
expires 1m;
}
proxy_ignore_headers Set-Cookie Cache-Control expires;
proxy_cache proxy_cache_panel;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 301 302 10m;
add_header Strict-Transport-Security "max-age=31536000";
}
到这里还没有结束,1.0版本的1panel有一个bug,非默认443端口情况下在配置文件内不会在端口号后自动添加ssl。此时访问必定是打不开的。
点击配置文件
在
listen 端口号
后面添加ssl
保存并重载
第三步:验证你的服务
访问你的域名如:
example.com:8848
如果出现
imgaz.pixiv.net
的文字基本上就说明大功告成了。来随便找一张图试试吧。在你的域名后添加
/img-original/img/2025/07/10/12/00/03/132525075_p0.jpg
如https://example.com:8848/img-original/img/2025/07/10/12/00/03/132525075_p0.jpg
如果顺利打开就说明没有问题,打开很慢或者打不开,请检查能否顺利访问
pixiv.net
。如果出现421错误,请检查反向代理中是否开启SNI回源,以及
proxy_ssl_name
是否填写正确。如果出现403错误,请检查反向代理源文中是否添加
proxy_set_header Referer "https://www.pixiv.net/";
并且顺利保存重载。
成果展示
之后想要不被其他人使用可以开启防盗链功能,顺便还可以套一个cdn。
接下来怎么用就看各位的创意了。