配合支持ipv6的VPS反向代理,让本地纯ipv6环境下的电脑也能作为公网服务器
背景
原理很简单,就是nginx做ipv6反向代理,但我觉得潜力巨大。
动机
实际上本来是打算折腾校园网ipv4做DDNS的,无奈校园网把公网IP加了NAT,想必公网不可能通过ipv4访问到我的电脑了。
但作为校园网的一大利好就是有免费且带宽够大的ipv6可以用,正好手头上有个性能严重不足的但支持ipv6网络的VPS可以用,遂计划用有公网ipv4地址的VPS通过ipv6做反向代理,映射回我的电脑。
实践
设置DNS
在DNS服务商上新增一个二级域名,指向VPS的ipv4地址(实际上也可以不用,只要nginx能够正确进行反向代理)。
设置本地服务器
设置本地服务器监听整个本地网络(因为用的windows直接就配置IIS了)
设置反向代理
找到自己本地的ipv6地址
编辑远程服务器nginx的配置文件。建立一个新server,并配置反向代理到本地电脑的ipv6地址
server {
listen 80;
server_name test.polarxiong.com;
location / {
proxy_pass http://[2001:250:5002:8100::1:7214];
}
}
生效
重启nginx
接下来访问http://test.polarxiong.com/
实际就是访问到的本地IIS的内容了。
潜在问题
这样配置反向代理大概最关心的就是加载速度了,因为我的VPS在美国,所以我的访问每次都相当于穿越了4次太平洋,但我测试从发送请求到加载完毕一共花了大约1秒的时间,效果已经很好了,可能就是因为用到了ipv6。
未来计划
关于具体可行的应用现在还没有,但我已经在考虑入手树莓派了,目的嘛,很明显:)