准备工作:你需要什么?
在开始之前,确保你已经准备好了这三样东西哦:
- 一台全新的、装有 Debian 系统的国外云服务器。
- 你的专属域名:比如:
ao3.doi.us.kg。 - 能够通过 SSH 连接到你的服务器(比如用 Xshell, Termius 或者 FinalShell 这种工具)。
第一步:把你的域名指向服务器的小家 🏠
这一步是告诉全世界,你的域名 ao.doi.us.kg 住在你服务器的 IP 地址上。
- 登录你的域名注册商(就是你买
us.kg域名的地方)。 - 找到 DNS 管理或域名解析的页面。
- 添加一条 A 记录:
- 主机记录 (Host/Name):
ao3 - 记录类型 (Type):
A - 记录值 (Value/Points to): 填你云服务器的公网 IP 地址。
- 主机记录 (Host/Name):
等待几分钟,让 DNS 生效。你可以 ping ao.doi.us.kg 一下,如果返回的是你服务器的 IP,那就说明成功啦!
第二步:给服务器安装 Nginx 小管家 🤵
Nginx 就是那个帮你反向代理 AO3 的核心软件啦,我们先把它请进服务器里。
用 SSH 连接到你的服务器,然后依次输入下面的命令:
Bash
# 更新一下软件列表sudo apt update
# 安装 Nginxsudo apt install nginx -y
# 启动 Nginx 并设置开机自启sudo systemctl start nginxsudo systemctl enable nginx安装好后,在浏览器里直接访问你服务器的 IP 地址,如果能看到 “Welcome to nginx!” 的页面,那就说明 Nginx 已经乖乖地开始工作啦!🎉
第三步:申请 HTTPS 证书的小魔法 ✨
为了让你和 AO3 的悄悄话不被别人偷听,我们需要一个 HTTPS 证书。这里我们用免费又好用的 Certbot 来自动完成。
-
安装 Certbot
Bash
sudo apt install certbot python3-certbot-nginx -y -
获取证书
运行下面的命令,Certbot 会自动帮你完成一切。
Bash
sudo certbot --nginx -d 你的解析域名执行过程中,它会问你几个问题:
- 输入邮箱地址: 用来接收重要通知,比如证书快过期了。
- 同意服务条款: 输入
A然后回车。 - 是否愿意分享邮箱: 输入
Y或N都可以,看你心情啦。
Certbot 会自动检测你的 Nginx 配置,然后帮你申请证书,并自动配置好 HTTPS。它还会贴心地帮你把 HTTP 的访问自动跳转到 HTTPS,超省心的!
看到
Congratulations!的时候,就代表你的小站已经成功开启 SSL 加密啦!
第四步:编写最终的 Nginx 配置文件 💌
这才是最核心的一步!我们要告诉 Nginx 小管家,当有人访问 ao.doi.us.kg 时,要偷偷地去访问 AO3,然后把内容拿回来,换上我们自己的域名,再呈现给访客。
你给的示例非常棒,我们就在它的基础上修改成你自己的域名。
-
打开你的网站配置文件
Certbot 应该已经为你创建好了一个配置文件,我们来编辑它。
Bash
sudo nano /etc/nginx/sites-available/default(注意:Certbot 可能创建的是
/etc/nginx/sites-enabled/default或类似的文件,你可以用ls /etc/nginx/sites-enabled/查看一下。编辑哪个都可以,它们通常是链接在一起的。) -
粘贴并修改配置
把文件里原有的内容全部删除,然后粘贴下面的代码。,宝贝直接复制粘贴就好~
Nginx
server {server_name ao.doi.us.kg;# --- 伪装请求头---location / {proxy_set_header Host "archiveofourown.org";proxy_set_header Origin "https://archiveofourown.org";proxy_set_header Referer "https://archiveofourown.org/";proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Accept-Encoding ""; # 这一步很重要,防止内容被压缩导致替换失败# --- 转发核心 ---proxy_pass https://archiveofourown.org;# --- 替换返回内容 ---sub_filter_once off;sub_filter 'archiveofourown.org' 'ao.doi.us.kg';# --- Cookie 和 跳转 的终极处理 ---proxy_cookie_domain archiveofourown.org ao.doi.us.kg;proxy_cookie_path / /;proxy_redirect ~^https://archiveofourown.org(?<path>.*)$ https://ao.doi.us.kg$path;}# --- 下面是 Certbot 帮你自动配置的 SSL 信息,不要动它们哦 ---listen 443 ssl; # managed by Certbotssl_certificate /etc/letsencrypt/live/ao.doi.us.kg/fullchain.pem; # managed by Certbotssl_certificate_key /etc/letsencrypt/live/ao.doi.us.kg/privkey.pem; # managed by Certbotinclude /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbotssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot}server {if ($host = ao.doi.us.kg) {return 301 https://$host$request_uri;} # managed by Certbotlisten 80;server_name ao.doi.us.kg;return 404; # managed by Certbot} -
保存并退出 在
nano编辑器里,按Ctrl + X,然后按Y,最后按Enter确认保存。
第五步(可选但推荐):给你的小花园加上一把锁 🔐
如果你不希望任何人都能访问你的镜像站,可以加一个简单的密码验证。这样就真正成为你的秘密花园啦~
-
安装密码工具
Bash
sudo apt install apache2-utils -y -
创建密码文件
运行下面的命令。把
my_cute_user换成你想要的用户名。它会提示你输入两次密码。Bash
sudo htpasswd -c /etc/nginx/.htpasswd my_cute_user -
修改 Nginx 配置,开启验证
再次打开刚才的配置文件:
Bash
sudo nano /etc/nginx/sites-available/default在
server { ... }块里面,location / { ... }的外面,加入下面这两行:Nginx
server {server_name ao.doi.us.kg;# 在这里加入密码验证auth_basic "Shh... It's a secret garden!"; # 这是弹窗的提示语,可以随便改auth_basic_user_file /etc/nginx/.htpasswd;location / {# ... location 里面的内容保持不变 ...}# ... SSL 的配置也保持不变 ...}# ... 下面的 server 块也不变 ...修改好后,同样按
Ctrl + X,Y,Enter保存退出。
第六步:大功告成!检查并重启 🚀
最后一步,我们来检查一下配置文件有没有写错,然后让 Nginx 重新加载新的配置。
Bash
# 检查配置文件语法是否有错误sudo nginx -t如果看到 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 和 nginx: configuration file /etc/nginx/nginx.conf test is successful,就说明一切完美!
Bash
# 重新加载 Nginx 配置,让它生效sudo systemctl reload nginx享受你的成果吧!
现在!立刻!马上!打开你的浏览器,访问 https://ao.doi.us.kg!
是不是已经能看到熟悉的 AO3 界面,但是地址栏是你的域名啦?如果设置了密码,还会弹出一个小窗口让你输入用户名和密码哦~
现在,你的专属 AO3 小镜子就搭建好啦!可以安安心心地在自己的秘密花园里畅游,看遍所有想看的文,再也不怕找不到家了。
宝贝真棒!又解锁了一个新技能!快去享受你的私密阅读时光吧!mua~ 如果遇到任何问题,随时回来找我哦!😘
ps
可能还有更加容易、有用的反代方式。不过现在的设置实测已经可以登录了,普通的反代不能够登录。
附赠宝塔面板的记录
添加反代
输入域名,要反代的目标,确定
设置
选择刚刚添加的网站最右边的设置,进入再选择url代理。再点击设置,
在自定义配置中插入
# --- 伪装请求头,让目标网站以为是正常访问 ---proxy_set_header Host "archiveofourown.org";proxy_set_header Origin "https://archiveofourown.org";proxy_set_header Referer "https://archiveofourown.org/";proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Accept-Encoding "";
# --- 替换网页内容里的链接,防止跳转回原站 ---sub_filter_once off;sub_filter 'archiveofourown.org' $host;
# --- 修改Cookie的域名,这样登录状态才能保存 ---proxy_cookie_domain archiveofourown.org $host;proxy_cookie_path / /;
# --- 修改跳转链接,确保网站内部跳转也通过你的代理 ---proxy_redirect ~^https://archiveofourown.org(?<path>.*)$ https://$host$path;保存
申请ssl证书
进入网站的设置,选择ssl,选择Let’s Encrypt,选择文件验证,选中域名,申请证书。
自动申请完成,然后安装上。
💡 评论需审核