安装File Browser及配置Nginx
环境:Debian10+Nginx/1.14.2+tls
在搭建好基于nginx的webdav服务后,发现几个挂载的bug,比如不能新建文件夹、不能重命名文件夹、不能显示名称中含中括号对"[]"的文件夹或文件。又不能舍弃webdav方便同步,无奈只好找到File Browser弥补缺陷了。
File Browser安装
官方地址:https://filebrowser.xyz/
快速安装
curl -fsSL https://filebrowser.xyz/get.sh | bash
快速启动File Browser
参数分别是监听地址(-a)、端口(-p),文件索引根目录(-r),数据库存放路径(-d)filebrowser -a 127.0.0.1 -p 8888 -r /path/to/file -d /path/to/filebrowser.db
此时即可以http://<ip>:8888
访问,管理员用户名和密码均为admin。
开机自启
运行command="-a 127.0.0.1 -p 8888 -r /path/to/file -d /path/to/filebrowser.db"
以及:
cat > /etc/systemd/system/filebrowser.service <<EOF
[Unit]
Description=filebrowser
After=network.target
[Service]
Type=simple
ExecStart=$(command -v filebrowser) $command
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
重载服务配置及运行:
systemctl daemon-reload
systemctl start filebrowser
systemctl enable filebrowser
systemctl status filebrowser
Nginx 反向代理配置
由于此vps已配置基于nginx+ws+tls的v2fly服务,索性尝试nginx反代File Browser服务。
添加location段,配置如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example1.com www.example1.com;
rewrite ^(.*)$ https://example2.com$1 permanent;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl on;
ssl_certificate /path/to/ecc.crt;
ssl_certificate_key /path/to/ecc.key;
ssl_certificate /path/to/rsa.crt;
ssl_certificate_key /path/to/rsa.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/html;
index index.html index.htm;
charset utf-8;
server_name example2.com;
# filebrowser
location /filebrowser/ {
client_max_body_size 0;
proxy_read_timeout 10s;
proxy_send_timeout 10s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8888/;
}
error_page 404 /404.html;
location = /40x.html {
}
}
重载nginx服务:
service nginx reload
service nginx restart
service nginx status
此时即可访问http://example2.com/filebrowser/
管理文件。