昨日,有大佬邀请我进入北邮人pt,然而北邮人需要使用ipv6访问,于是有了这篇记录
在刘威廉大佬的介绍下参考了R酱大佬的教程 https://blog.rhilip.info/archives/72/
然而这篇教程 subs_filter 这个第三方模块,而我这种懒人,实在懒得去编译nginx,都是直接使用Arch Linux官方库中的软件包,所以尝试使用sub_filter来实现
1.服务器得有ipv6(废话)
2.绑定域名,签发 Let’s Encrypt 证书。(可选,你大可以不使用https。)签发过程参考 https://certbot.eff.org/
3.设置反向代理,修改nginx配置文件对应的server中的location。如下
location / {
resolver 8.8.8.8 valid=300s;
proxy_pass https://bt.byr.cn;
sub_filter bt.byr.cn $host;
sub_filter_once off;
proxy_set_header Accept-Encoding "";
}
4.设置密码nginx密码。由于我是用来私人使用的,所以设置了密码。不需要的大可以跳过。我们需要htpasswd这个工具。由于我是Arch Linux,并且已经安装了yay,所以这里直接yay -S apache-tools
htpasswd -c /var/test test
并设置密码
修改nginx配置文件 ,在对应server中添加auth_basic "test";
auth_basic_user_file /var/test;
最终server配置如下
server {
listen 443 ssl http2;
server_name mdzz.xm1s.com;
ssl_certificate /etc/letsencrypt/live/mdzz.xm1s.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mdzz.xm1s.com/privkey.pem;
ssl_protocols TLSv1.3;
auth_basic "test";
auth_basic_user_file /var/test;
location / {
resolver 8.8.8.8 valid=300s;
proxy_pass https://bt.byr.cn;
sub_filter bt.byr.cn $host;
sub_filter_once off;
proxy_set_header Accept-Encoding "";
}
}