Seafile服务器FILE_SERVER_ROOT的问题

现在服务器需要设置SERVICE_URL和FILE_SERVER_ROOT,每次都被这个搞的晕头转向,因为内外网切换访问的时候,FILE_SERVER_ROOT是固定不变的,也就是说上传下载的地址是固定的。为何不能优化一下,改成按照相对路径来处理文件呢,也就是说用户不需要设置这些,只需要自己给seafile设置一个端口,比如80也好8000也好,只要我按照端口可以访问到,无论内网地址还是公网地址或者是防火墙映射后的端口地址,都按照实际访问地址来转化成相对路径,这样多方便,我想也不应该是技术难题吧,绝大部分网站都是这个处理逻辑。希望开发人员能考虑一下这个需求,最主要的是windows客户端不能自定义,这样搞的服务器设置非常不灵活。

1 个赞

另外还想问一下windows客户端同步文件,是固定连接服务器的8082端口呢还是读取服务器的FILE_SERVER_ROOT设置?感觉使用了nginx以后客户端是使用FILE_SERVER_ROOT地址来传输文件,而当在防火墙映射服务器端口以后又使用了8082端口,比如我服务器内网地址是172.72.1.1,直接在客户端输入服务器172.72.1.1的时候,尽管没有开放8082端口,文件传输正常。而当防火墙映射了8080端口到172.72.1.1的80端口,在没有映射8082端口的情况下,客户端设置为http://xxx.xxx.xxx.xxx:8080,网页端可以看到文件列表,无法下载,客户端可以连接服务器,但无法连接同步资料库。

我也觉得这很麻烦。。。。。每次都只能上网页改一下设置。。

沒有要對外人開放的話,我自己是走VPN連線
就可以不用一直改來改去

无法在网页上下载/上传文件

请检查下 SERVICE_URL 和 FILE_SERVER_ROOT 这两个配置选项是否正确设置。如果使用内置的 Web 服务器,监听在 8000 端口上,应该是
SERVICE_URL = http://IP:8000,FILE_SERVER_ROOT 选项不用配置
详情参见:https://cloud.seafile.com/published/seafile-manual-cn/faq.md

有相同问题。

我正好也遇到这个问题,或者有没有大佬写个脚本什么的,能自动根据当前IP填写SERVICE_URL和FILE_SERVER_ROOT

我也遇到了,请问你解决了吗

可以通过nginx反向代理来解决这个问题,注意路由器必须要支持NAT环回功能,选择路由器的时候一定要问清楚,不然的话在内网还是不能通过公网ip访问自己的服务器,外网访问是没有问题的。一个好的路由器很重要,有的路由器NAT环回是通过内网传输,速度飞快,这是最理想的,而有的路由器虽然支持NAT环回,但是流量通过公网传输,宽带上传速度一般都不高,所以同步文件非常慢,这种就不太方便了,甚至还有的路由器根本就不支持NAT环回,不予考虑。

可以使用nginx反代来解决,可以参考一下相关教程。