移动大法良心给了家庭宽带IPV6地址,从此能在里服务器快乐的挂着种子下视频,然后在世界任意角落通过IPV6地址访问看视频了(客户端IPV6地址可以用Cloudfare Warp或者VPS解决)。

移动竟然没有对IPV6限速,我挂种子可以轻易跑出G口的网速。

image-20220120183152195

之前家里的NAS是用SMB协议进行串流的,在局域网的时候SMB速度还行,但是变成公网之后SMB速度就太感人了。通过调研了FTP,SMB,WebDAV之后发现,WebDAV是在HTTP协议之上研发的,相比SMB有很好的文件传输效率,同时又有比FTP更高的安全性。因此研究如何在Ubuntu上部署WebDAV网盘,方便串流视频。

自己测试表明WebDAV基本可以跑满带宽(50M),SMB协议则只有8M左右。

WebDAV

image-20220120183315622

SMB

image-20220120183400760

在Ubuntu上使用的WebDAV的方法有多种:Apache2,Nginx,Caddy。Nginx和Caddy都需要额外安装模块才能实现最完整的WebDAV功能(下载、上传、修改),因此我推荐使用Apache部署WebDAV。

安装apache2

使用apt安装 apache2

sudo apt install apache2

激活 WebDAV 相关组件

1
2
a2enmod dav_fs
a2enmod dav

创建配置文件

sudo nano /etc/apache2/sites-enable/webdav.conf

请注意,和nginx不一样,如果要改端口要在/etc/apache2/ports.conf修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<VirtualHost *:8888>
ServerAdmin webmaster@localhost
DocumentRoot /mnt/sda1
#ErrorLog ${APACHE_LOG_DIR}/error.log
#CustomLog ${APACHE_LOG_DIR}/access.log combined
#DavLockDB "/var/www/DavLock" # 注释掉,默认路径,很多教程都会指定这个,权限设置不对很可能导致无法创建文件。
<Directory /mnt/sda1>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
#Alias /webdav /mnt/sda1

<Location />
DAV On
AuthType Basic
AuthName "rman" # 用户名,可以自定义
AuthUserFile /etc/apache2/webdav.password # 密码文件
Require valid-user
</Location>
<VirtualHost>

生成密码

htpasswd -c /etc/apache2/webdav.password rman

最后为用户名,然后输入密码。

最后重启Apache2即可,并设为开机启动。

sudo systemctl enable apache2

sudo systemctl restart apache2

至此WebDAV就配置好了,可以直接通过浏览器或者其他客户端访问

http://ip:port/

效果展示

image-20220120182907991