请大家帮我分析一下这个日志,困扰我很久

客户端applet.log摘录日志如下:
[05/03/17 21:19:48][network detector] got a network failure
[05/03/17 21:19:48][api] network error for http://172.16.0.11:8443/api2/ping/: 连接超时

[05/03/17 21:19:49]request failed for http://omv.onmypc.net:8443/api2/repos/8d4c41f0-9057-40fb-8699-afb98ca6d00a/thumbnail/?p=%2FIMG_3255.JPG&size=28: {“error_msg”:“Permission denied.”}

[05/03/17 21:19:55][network detector] resetting the qt network access manager
[05/03/17 21:22:48][network detector] got a network failure
[05/03/17 21:22:48][api] network error for http://172.16.0.11:8443/api2/ping/: 连接超时

[05/03/17 21:23:13][network detector] resetting the qt network access manager

每次下载几个文件后便卡住不动,进度条再也走不动了。分析日志看到上面连接超时的网址“ http://172.16.0.11:8443/api2/ping/”是内网网址,但下面请求文件的网址却是外网网址,我用外网网址访问/api2/ping/是通的。这到底是怎么回事,资料库同步一直都没法完成。

这里的配置必须一致。

如果是用域名,两个设置都必须用域名。

内网可以自建dnsmasq来挟持域名直接将域名解析到内网ip地址。如果机器少,可以直接设置hosts(但iphone手机端无法修改hosts)

一直都是这样设置的。应该不是这个问题

截图上来看看你的设置?

我外网映射的端口是8443

客户端卸载重装之后,内网网址变成域名了,跟服务端设置无关,但是下载文件仍然经常卡在某个文件过不去。

ping不通的问题解决了,搞不懂为什么总是显示没权限。服务器端的日志又看不出问题,客户端日志总是提示没权限,是不是纯粹客户端的问题啊

你的FILE_SERVER_ROOT不能这样填写,如果用了nginx或者Apache反代了的话,就写 http://omv.onmypc.net/seafhttp

如果没有 则写 http://omv.onmypc.net:8082

另这个8082端口不能修改,因为这个端口写死在客户端里面,如果要改则必须使用nginx和Apache反向代理。

另一般家用宽带都没有80端口,可使用nginx反代部署 https,ssl证书可以到let’s encrypt申请。申请方法请自行Google。

配置方法请参照手册:
https://manual-cn.seafile.com/deploy/https_with_nginx.html
https://manual-cn.seafile.com/deploy/https_with_apache.html


另一种可能

如果8443是你做了nginx反代后的端口,那么你应当这样填写

SERVICE_URL = http://omv.onmypc.net:8443

FILE_SERVER_ROOT = http://omv.onmypc.net:8443/seafhttp

我的客户端及网站访问都是没问题的,就是同步时下载几个文件就停顿在那里,服务端配置都是按手册设置的(nginx反代),客户端日志反映问题为{“error_msg”:“Permission denied.”}

将nginx下某处的proxy_temp目录 执行chmod -R 777 proxy_temp就好了