通過(guò)廣域網(wǎng)(WAN)訪問(wèn)部署在局域網(wǎng)(LAN)的 Seafile 服務(wù)器,需要:
首先, 確保你的路由器支持端口轉(zhuǎn)發(fā)功能:
根據(jù)路由器管理手冊(cè)操作說(shuō)明(或網(wǎng)絡(luò)搜索), 進(jìn)入路由器的管理用戶(hù)界面。
找到包含 "轉(zhuǎn)發(fā)" 或者 "高級(jí)" 等關(guān)鍵詞的頁(yè)面, 說(shuō)明此路由器支持端口轉(zhuǎn)發(fā)功能。
Seafile 服務(wù)器包含兩個(gè)組件, 請(qǐng)根據(jù)以下規(guī)則為 Seafile 組件設(shè)置端口轉(zhuǎn)發(fā)。
組件 | 默認(rèn)端口 |
---|---|
fileserver | 8082 |
seahub | 8000 |
設(shè)置端口轉(zhuǎn)發(fā)后,可按以下步驟測(cè)試是否成功:
http://who.is
得到本機(jī)的IPtelnet <Your WAN IP> 8000
如果端口轉(zhuǎn)發(fā)配置成功,命令行會(huì)提示連接成功。否則, 會(huì)顯示 connection refused 或者 connection timeout, 提示連接不成功。
若未成功,原因可能如下:
服務(wù)器依賴(lài)于 ccnet.conf
中的 "SERVICE_URL" 和 seahub_setting.py
中的 FILE_SERVER_ROOT 來(lái)生成文件的上傳/下載鏈接 (從 5.0 開(kāi)始這兩個(gè)值可以通過(guò) Web 界面來(lái)設(shè)置)。如果使用內(nèi)置的 web 服務(wù)器,改為
SERVICE_URL = http://<Your WAN IP>:8000
如果配置了 Nginx, 則需要修改為
SERVICE_URL = http://<Your WAN IP>
FILE_SERVER_ROOT = http://<Your WAN IP>/seafhttp
大部分路由器都支持 NAT loopback. 當(dāng)你通過(guò)內(nèi)網(wǎng)訪問(wèn) Seafile 時(shí), 即使使用外部 IP ,流量仍然會(huì)直接通過(guò)內(nèi)網(wǎng)走。
完成以上端口轉(zhuǎn)發(fā)配置工作后,就可以通過(guò)外網(wǎng) IP 訪問(wèn)部署在局域網(wǎng)內(nèi)的 Seafile 服務(wù)器了。但是對(duì)于大多數(shù)人來(lái)說(shuō), 外網(wǎng) IP 會(huì)被 ISP (互聯(lián)網(wǎng)服務(wù)提供商)定期更改, 這就使得,需要不斷的進(jìn)行重新配置.
可以使用動(dòng)態(tài)域名解析服務(wù)來(lái)解決這個(gè)問(wèn)題。通過(guò)使用域名解析服務(wù),你可以通過(guò)域名(而不是 IP)來(lái)訪問(wèn) Seahub,即使 IP 會(huì)不斷變化,但是域名始終會(huì)指向當(dāng)前 IP。
互聯(lián)網(wǎng)上提供域名解析服務(wù)的有很多,我們推薦 www.noip.com。
怎樣使用域名解析服務(wù),不在本手冊(cè)說(shuō)明范圍之內(nèi),但是基本上,你需要遵循以下步驟:
當(dāng)你配置好域名解析服務(wù)之后,需要對(duì) ccnet.conf
進(jìn)行更改 (或者通過(guò)管理員 Web 界面來(lái)修改):
SERVICE_URL = http://<你的域名>:8000
然后重新 Seafile 服務(wù).
你如果使用內(nèi)置的服務(wù)器,需要開(kāi)啟 8000 和 8082 兩個(gè)端口。如果你的 Seafile 服務(wù)器是運(yùn)行在 Nginx/Apache 環(huán)境下,并且開(kāi)啟了 HTTPS, 則需要開(kāi)啟 443 端口。
更多建議: