
Ubuntu+TailScale+Nginx实现外网家庭nas
Ubuntu+TailScale+Nginx实现外网家庭nas
基础
要想实现nas很简单,只需要给ubuntu系统装上Samba就能实现在内网环境下,手机访问pc的文件,这个不是今天的重点,如果要想学习,可以自行百度
今天我们要实现的是从外网能够访问的,一个稳定的,速度还不能太慢的,不能限流的轻松访问内网数据
一般解决的方式是使用内网穿透,例如:花生壳、Ngrok、frp等,而这些内网穿透提供商做了各种限制,使用上也总是差强人意而TailScale+nginx的组合就完美解决了这个问题:
安装TailScale
安装TailScale
1
2sudo apt update
sudo apt install tailscale启动并登录 Tailscale
1
sudo tailscale up
第一次运行会提示你访问一个 URL 进行登录例如:
1
2
3To authenticate, visit:
https://login.tailscale.com/a/xxxxxx在浏览器中打开链接,并且注册登录
授权设备加入Tailnet
验证状态
1
tailscale status
出现
1
100.x.x.x your-ubuntu-host linux -
表示已成功接入
设置开机自启动
1
sudo systemctl enable --now tailscaled
至此TailScale已经安装到你的系统但是也仅仅是将你的设备放入了一个vpn网段里面,要想真的实现浏览器访问还需要做一步:
nginx接管访问
在nginx.conf中写入
1 | # === 你的网站配置开始 === |
访问资源
如果想要安卓设备访问,下载TailScale的安卓版本,可能需要科学上网在Google store中下载,然后根据指引登录,只要确保在同一个账号下。并且打开开关就可以在浏览器通过ip访问
进阶:让服务器上的图片直接访问nas
我有一个centos上面运行的静态网页,平常图片要上传到服务器才能正常访问,我就想能不能在公网服务器直接访问本地nas的图片省的每次都要登录服务器上传
于是我就想到了TailScale,理论上只要让公网服务器也加入到TailScale中在通过nginx代理一下图片访问路径就能实现访问本地nas图片了
在centos7上安装TailScale
1
sudo yum install tailscale
启动并登录
1
2sudo systemctl enable --now tailscaled
sudo tailscale up在浏览器中打开链接登录并同意
nginx代理
本地nas的nginx将要暴露的文件夹通过81端口映射出去
1 | server { |
服务器上把所有访问图片的路径都改成/static的
1 | location ^~ /static/ { |
速度还可以,主要是方便嘛
- 感谢你赐予我前进的力量






