大家好,我是羊刀仙
之前介紹過通過VPS和frp實(shí)現(xiàn)無公網(wǎng)訪問局域網(wǎng)NAS,但是需要我們購買VPS服務(wù)器:
本期則會(huì)利用 Cloudflare Tunnel,實(shí)現(xiàn)隨時(shí)隨地訪問局域網(wǎng)Web應(yīng)用,并且無懼DDoS攻擊,無需開放額外端口,也無需VPS服務(wù)器。
教程極其簡單,樹莓派、威聯(lián)通、群暉甚至是軟路由等內(nèi)網(wǎng)設(shè)備都可以使用該方法
講在前面
Cloudflare 的 Cloudflared tunnel 服務(wù)是通過 HTTPS 建立安全連接。
在 Cloudflare tunnel 的工作方式中,你的 NAS 運(yùn)行 Cloudflared 代理,這個(gè)代理建立并保持一個(gè)到 Cloudflare 的長連接(長連接指的是一種保持開放的網(wǎng)絡(luò)連接,允許客戶端和服務(wù)器之間進(jìn)行多次數(shù)據(jù)交換而不需要在每次通信時(shí)重新建立連接)。這個(gè)長連接是通過 HTTPS 協(xié)議進(jìn)行以實(shí)現(xiàn)通信加密,保證數(shù)據(jù)的安全傳輸。他人即便截獲這個(gè)數(shù)據(jù)流也無法解讀其中內(nèi)容。
當(dāng)有請(qǐng)求通過你的域名來到 Cloudflare 時(shí),Cloudflare 會(huì)通過已經(jīng)建立的長連接將這個(gè)請(qǐng)求轉(zhuǎn)發(fā)到你的內(nèi)網(wǎng)應(yīng)用。這個(gè)過程也是通過加密的 HTTPS 連接進(jìn)行,同樣是安全的。
因此,在 Cloudflare 和內(nèi)網(wǎng) NAS 之間的通信是通過 HTTPS 進(jìn)行,在這種配置下,你可以用 HTTPS 來訪問你的內(nèi)網(wǎng)應(yīng)用,即使這個(gè)應(yīng)用本身并沒有設(shè)置證書和加密。
Cloudflare解析
賬戶注冊(cè)很簡單,不過多贅述。
這一步必須,因?yàn)橐褂肅loudflare服務(wù),所以必須要Cloudflare托管DNS服務(wù),具體方法請(qǐng)看這篇,很簡單:
往期利用Cloudflare搭建docker鏡像加速:
開通 CloudFlare Tunnel
在主頁點(diǎn)擊左側(cè)欄的Zero Trust
:
填寫項(xiàng)目名,名字可能會(huì)被占用,有點(diǎn)威聯(lián)通 mycloudlink 設(shè)備名的味道。不過這個(gè)后面也可以隨便更改,填好了點(diǎn)擊Next
:
會(huì)跳出一個(gè)選擇套餐界面,跟之前一樣,還是選擇零元:
雖然是零元,但仍然會(huì)讓我們添加支付方式(估計(jì)是為了防腳本之類的東西),可以添加PayPal或外幣卡(visa),不過這里點(diǎn)擊右上角的退出就行。
今后若要長期使用Cloudflare的朋友,倒是可以順手綁上支付方式,是不會(huì)扣費(fèi)的哦。
接下來再次回到主頁點(diǎn)擊Zero Trust
,左側(cè)欄Networks
下選擇Tunnels
,然后點(diǎn)擊Add a tunnel
:
這里來解釋一下:
首先下載并安裝Cloudflared,然后將本地服務(wù)與Cloudflared連通,Cloudflared可以理解為隧道;
這樣一來就可以把本地服務(wù)的流量通過Cloudflared交給Cloudflare;
因?yàn)槲覀円呀?jīng)將域名托管至Cloudflare,因此就可通過域名訪問本地服務(wù);
如下圖所示,點(diǎn)擊Next
:
命名并保存:
選擇環(huán)境,咱們是要訪問 NAS,那肯定選擇最后一個(gè) Docker,下面也給出了具體的部署命令 :
NAS 部署 Cloudflared
所獲得的部署命令,我加了一個(gè)開機(jī)自啟動(dòng):
docker run -d --restart=always cloudflare/cloudflared:latest tunnel --no-autoupdate run --token 你的token
以威聯(lián)通NAS為例,我選擇直接轉(zhuǎn)成Docker Compose,通過Container Station部署:
version: '3' services: cloudflared: image: cloudflare/cloudflared:latest command: tunnel --no-autoupdate run --token 你的token restart: always # 加上一條開機(jī)自啟動(dòng)
在NAS中創(chuàng)建應(yīng)用程序:
點(diǎn)擊創(chuàng)建并且cloudflared跑起來后,回到WEB界面,等一會(huì)就能看到cloudflare那邊自動(dòng)搜索到連接:
此時(shí)說明已經(jīng)能夠跟本地服務(wù)連通,點(diǎn)擊Next
。
繼續(xù)配置Cloudflared
選擇已經(jīng)托管的主域名,比如我這里想訪問威聯(lián)通NAS的web端,那二級(jí)域名就填寫為nas,局域網(wǎng)內(nèi)完整的訪問地址為http://192.168.200.110:5000 ,也如實(shí)填寫,如下圖所示:
點(diǎn)擊右下角保存后,稍等一會(huì)便會(huì)創(chuàng)建成功:
后續(xù)要增加emby、qb等應(yīng)用訪問,可以點(diǎn)擊上圖箭頭位置進(jìn)行添加。
不出意外的話,就可以用剛剛創(chuàng)建好的服務(wù),即利用nas.ydxian.love
訪問威聯(lián)通NAS的web端:
最后
訪問速度綜合來說也挺不錯(cuò),后續(xù)再看看有沒有更多方法,能夠適合不同朋友體質(zhì)。
如果大伙兒覺得本篇內(nèi)容還不錯(cuò),別忘了三連支持下,能點(diǎn)點(diǎn)關(guān)注就更好了!后續(xù)我還會(huì)持續(xù)分享各類教程以及有趣好玩的項(xiàng)目。
下一篇應(yīng)該就是基于VPS搭建Docker鏡像加速的相關(guān)內(nèi)容
感謝觀看,咱們周五見~
,