小白求问如何通过公网访问内网服务

个人小白刚接触seafile,按照手册部署到台式机虚拟的Ubuntu上,通过内网,笔记本电脑安装客户端可以和台式机同步文件。我这边办的专线,有1个固定公网ip,平时我在路由器配置NAT到台式机,可以进行远程桌面,我不太懂网络,就想是不是同样配置下,我就可以通过公网ip访问台式机的seafile服务了。经过配置后确实可以在网页端和客户端访问到服务,但是却无法上传或下载文件,通过http://公网ip:8000打开seafile页面,上传的时候提示unknown error,而windows客户端则提示无法连接到服务器。百度了很久也没有对症的办法,请老司机带一把。

使用内网穿透,我用的这个https://www.ngrok.cc/
免费的,速度还能接受
或者你也可以自己部署,ngrok是开源软件

感谢 zxk114。
我用这个可以通过域名登录内网服务,但还是无法进行上传,上传的时候会提示我非法的请求。
请问除了做内网穿透之外,seafile本身还需要什么设置吗?

出现了新问题,客户端直接无法同步,但打开云端浏览器却可以上传下载文件,真的搞不懂了。。。

8000端口和8082端口都需要在路由器里配置到内网IP上!

将SERVICE_URL的值配置成http://<您的公网ip>:8000
将FILE_SERVER_ROOT的值配置成http://<您的公网ip>:8082

1 个赞

我做了你说的这两个,但是安卓客户端 仍然是无法登陆,显示服务器内部错误 ,电脑客户端也是登陆不上 请问是 什么问题 ,怎么看日志

我用网页版 现在都没问题 了 ,原来是 手机上浏览器的问题,我下载了一个火狐浏览器就可以上传下载了 。但是 安卓客户端和电脑客户端仍然是 用不了 ,不解

你做了域名解析,看看设置里面,应该是按照下面这样填写

另外:你做没有Nginx反向代理?seahub是怎么启动的?是./seahub.sh start-fastcgi吗?

web 页面我设置的啊 58.246.106.38:8000 这样的啊

一样的道理,把8000端口去掉试试