前言
2018.12.19更新:优化了文章结构
2018.12.10更新:正式写完教程
2018.11.30更新:解决了登陆问题
2019.11.47鉴于配置难度及性能,我们推荐使用nginx配置pixiv反向代理
更新好累_(´□`」 ∠)_
没想到我的博客会有人看,那就久违的更个新吧
注意:本教程搭建后无法登录注册 请另请高明
一.Zmirror介绍
一个Python反向HTTP代理程序, 用于快速、简单地创建别的网站的镜像, 自带本地文件缓存、CDN支持
比如国内可以访问的Google镜像/中文维基镜像Github : 前往
在部署前你需要确保
- 拥有自己的域名(freenom的免费域名即可)
- 拥有自己的服务器(vps)
二.Pixiv反向代理部署教程
一键部署步骤
我在制作镜像时使用了vultr的vps
众所周知vultr的大部分ip被p站屏蔽(不要问我为什么,我不知道),但硅谷的机房似乎没有问题(两台机子都是好的),大家可以试试
测试配置(仅供参考)
域名:freenom免费tk域名
系统:Ubuntu16_64
事前原理讲解
为了简单地解决登陆问题,我使用了一些非常规手段,即用主域名作为登陆服务器生成cookies,供给二级域名使用。
因此,在开始部署前,你需要添加两个解析记录:一个@,一个随意到你的服务器上。
在我的配置过程中,我使用了accounts.qixiv.tk作为二级域名,只是正好解析了这个域名,没有额外原因,您可以根据需要修改为自己的二级域名,请注意,如果要修改您用的二级域名,请连带修改配置文件中的替换部分。
教程中涉及的配置文件皆由官方示例文件修改而来,若有设置不完善的地方,还望海涵。
操作详细
一.解析域名
首先要将域名解析到你的VPS上。(用于申请Let's Encrypt的免费ssl)
二.运行安装脚本
然后运行@yumin9822制作的脚本, 运行两次 ,一次命名为pixiv,另一次命名为pixivlogin(这不是强制的,只是好记,你可以根据个人喜好修改)
Ubuntu
wget --no-check-certificate -O /tmp/zmirror-ubuntu.sh https://raw.githubusercontent.com/yumin9822/zmirror-docker/master/zmirror-ubuntu.sh
chmod a+x /tmp/zmirror-ubuntu.sh && /tmp/zmirror-ubuntu.sh
Debain7/8
wget --no-check-certificate -O /tmp/zmirror-ubuntu.sh https://raw.githubusercontent.com/yumin9822/zmirror-docker/master/zmirror-ubuntu.sh
chmod a+x /tmp/zmirror-ubuntu.sh && /tmp/zmirror-ubuntu.sh
更多一键部署脚本请前往
http://www.hostloc.com/thread-336358-1-1.html
在脚本询问你预设镜像时,输入“a” 即选择自定义模式
输入一个名称,回车,然后输入你的域名,回车,接着依照脚本走申请证书,等脚本运行结束
三.检查确认
确定你已经运行了两次,即创建了两个zmirror镜像,并且使用的一个是主域名,另一个是该主域名的二级域名。
四.下载配置文件
下载我配置好的设置文件:下载地址
五.修改配置文件
修改配置文件,将其中的"qixiv.tk"替换为你的域名,如果你使用的不是"accounts.你的域名.后缀"这个二级域名,你应该先替换"accounts.qixiv.tk"为你的二级域名,再替换"qixiv.tk"为"你的域名",注意pixivconfig.py,是给主域名使用的,pixivlogin.py是给二级域名使用的。
六.上传配置
分别进入对应的zmirror镜像目录(即/var/www/你设置的名字)
输入
rm -f config.py
删除原有配置文件
然后输入
vim config.py
创建新的配置文件,并将你修改好的配置文件粘贴入内
七.重启服务
确定两个镜像配置文件都修改完毕
然后输入
service apache2 restart
此时镜像应该已经成功运行,你可以访问你的域名来享受反向代理的快乐了。
如果搭建过程中出现问题,欢迎诸位留言讨论。
反向如果你想要往反向代理中插入统计代码,请等待我的下一次更新。
我只反代了主域名请问为什么页面能加载 但是图片是空白的
我解决了没事了|´・ω・)ノ
外部图片加载不出来,是什么原因呢?console也没有报错
我重新写了配置文件,你试试看还有没有问题?
我觉得应该是P站的用户登陆页有一个跳转的问题,点击登陆的时候跳到domain.sample.com/ext/accounts.pixiv.net,然后再跳转到accounts.pixiv.net,然后由于反代理规则又跳到domain.sample.com/ext/accounts.pixiv.net,如此重复,就会出错。希望能给你一点思路XD
你给了我启发,我改用两个域名分别承载www.pixiv.net与accounts.pixiv.net,然后就可以正常登录了,过两天有空了就把教程写出来~\(≧▽≦)/~
按大佬的教程搭建 结果出现了500错误
有可能是zmirror本身更新了,也可能是你拷贝配置文件时出了差错。也许你愿意过两天试试看我即将发布的新配置文件。