一、前言
个人使用私有云时,通常通过VPN隧道进行访问。然而,在共享文件给他人或在公共设备上下载文件等场景下,使用VPN隧道显然既不方便也不合适。因此,结合现有的私有云存储架构,我们需要一个网站程序,以便更便捷地管理和操作文件,提供更高效的文件访问方式。
二、方案
1、Alist
Alist 是一个开源的云盘管理系统,支持多种云存储服务(如Google Drive、OneDrive等)的文件管理与展示。它通过简洁的Web界面,让用户能够方便地查看、下载、上传和分享文件。Alist 具有轻量级、高效性和易于部署的特点,适用于个人和团队的私有云存储管理。
Alist通过Samba协议与私有云存储连接,即使在非隧道环境下,也能通过HTTP快速访问文件。它支持账号根目录的设置、单一目录的密码保护以及其他权限管理功能。
三、安装
安装Alist非常简单,Linux服务器直接通过下述一键脚本就可以安装,安装好之后通过Nginx反向代理去除端口。
安装
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
更新
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
卸载
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall
Nginx反向代理配置文件
location ^~ /
{
proxy_pass http://127.0.0.1:5244;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_file8MBaEN6h 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_file8MBaEN6h 1;
expires 1m;
}
if ( $static_file8MBaEN6h = 0 )
{
add_header Cache-Control no-cache;
}
}
评论区