通过广域网(WAN)访问部署在局域网(LAN)的 Seafile 服务器,需要:
首先,按照部署 Seafile 服务器(使用 SQLite)安装 Seafile 服务器。
并确保以下功能正常运行:
首先, 确保你的路由器支持端口转发功能:
根据路由器管理手册操作说明(或网络搜索), 进入路由器的管理用户界面。
找到包含 "转发" 或者 "高级" 等关键词的页面, 说明此路由器支持端口转发功能。
Seafile 服务器包含很多组件, 请根据以下规则为所有组件设置端口转发。
组件 | 默认端口 |
---|---|
ccnet | 10001 |
seaf-server | 12001 |
fileserver | 8082 |
seahub | 8000 |
设置端口转发后,可按以下步骤测试是否成功:
http://who.is
得到本机的IPtelnet 8000
如果端口转发配置成功,命令行会提示连接成功。否则, 会显示 connection refused 或者 connection timeout, 提示连接不成功。
若未成功,原因可能如下:
ccnet.conf
中的 "SERVICE_URL" 字段,是用来在在线访问文件时,生成上传/下载链接的,更改此字段的值为你的IP。
SERVICE_URL = http://<Your WAN IP>:8000
大部分路由器都支持 NAT loopback. 当你通过内网访问 Seafile 时, 即时你的外部 IP 被占用,文件上传/下载仍然会工作。
完成以上端口转发配置工作后,就可以通过外网 IP 访问部署在局域网内的 Seafile 服务器了。但是对于大多数人来说, 外网 IP 会被 ISP (互联网服务提供商)定期更改, 这就使得,需要不断的进行重新配置.
可以使用动态域名解析服务来解决这个问题。通过使用域名解析服务,你可以通过域名(而不是 IP)来访问 Seahub,即使 IP 会不断变化,但是域名始终会指向当前 IP。
互联网上提供域名解析服务的有很多,我们推荐 www.noip.com。
怎样使用域名解析服务,不在本手册说明范围之内,但是基本上,你需要遵循以下步骤:
当你配置好域名解析服务之后,需要对 ccnet.conf
进行更改:
SERVICE_URL = http://<你的域名>:8000
然后重新 Seafile 服务.
默认情况下,你需要打开以下四个端口.
|
| Seahub
| 8000
|-
| FileServer
| 8082
|-
| Ccnet Daemon
| 10001
|-
| Seafile Daemon
| 12001
|
如果你的 Seafile 服务器是运行在 Nginx/Apache 环境下,并且开启了 HTTPS, 则需要开启以下端口:
|
| HTTPS
| 443
|-
| Ccnet Daemon
| 10001
|-
| Seafile Daemon
| 12001
|