前言
最近有分享文件的需要,网上的在线分享服务一般都有诸多限制条件,不如自己搭一个自己用着舒服。
早就听说firefox的send服务不错,但早就下线了。所幸代码开源,有不少大佬写过搭建教程。我比较懒,只想用dokcer来做。但是网上找到的dokcer版send搭建教程很多都不能用,不是采集的,就是过时的,要不就是上传卡住不动的,最接近于成功的一次是可以上传,但上传完毕后会显示我们遇到错误
,F12查看网络通讯是返回了401
错误。
可用的搭建方法
更新
网友反馈使用密码时总是会出现“密码错误”,经查确实存在此问题。我翻阅网络资料,并且经实践证实,需要设置NODE_ENV=production环境变量才可正常使用。 下面的docker-compose.yml文件我已经更新,加上了这条设置。
最后在hostloc论坛上找找到了可用的docker版firefox-send服务。可以使用docker-compose
快速搭建。
docker-compose.yml
内容如下:
version: "3.8"
services:
web:
image: enwaiax/firefox_send:plus
links:
- redis
ports:
- "1443:1443"
restart: unless-stopped
environment:
- REDIS_HOST=redis
- NODE_ENV=production
redis:
image: redis:alpine
restart: unless-stopped
创建该文件后在同文件夹内执行docker-compose up -d
即可。
然后网页访问IP:1443
使用服务。
nginx反代
我想在使用时免去输入端口号,正好服务器上安装有nginx,于是反代一下。好像因为上传使用的ws协议,需要反代2处。
代码语言:javascript复制location / {
proxy_pass http://127.0.0.1:1443;
proxy_cache off;
proxy_buffering off;
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 X-Forwarded-Proto $scheme;
}
location /api/ws {
proxy_redirect off;
proxy_pass http://127.0.0.1:1443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}