內(nèi)網(wǎng)穿透
在互聯(lián)網(wǎng)中,局域網(wǎng)中的機器是沒法在外網(wǎng)中訪問的。例如家庭網(wǎng)絡(luò)中的機器在外網(wǎng)中是訪問不到的,為了達到能夠訪問局域網(wǎng)中的機器,就需要內(nèi)網(wǎng)穿透技術(shù)。常見的有花生殼、ngrok、frp,這里我們詳細介紹frp。
frp
frp 是一個專注于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議。配置簡單,方便使用。
frp分server端和client端,在發(fā)布的版本中,server端和client端都在同一個release 包中,我們可以根據(jù)自己的系統(tǒng)下載不同的release 發(fā)布版本。下載地址:``` https://github.com/fatedier/frp/releases ```。一下我們以linux系統(tǒng)為例做介紹,下載完成后解壓下載的壓縮包,可以看到其中的分別有frpc,frpc.ini,frps,frps.ini文件,其中frpc.ini,frps.ini分別是客戶端合服務(wù)端的配置文件,frpc、frps分別是客戶端和服務(wù)端的可執(zhí)行程序。
使用frp作為內(nèi)網(wǎng)穿透工具,需要有一臺獨立ip的機器作為外網(wǎng)服務(wù)器,通過服務(wù)器穿透到內(nèi)網(wǎng)部署的服務(wù)。外網(wǎng)服務(wù)器可以通過阿里云等云服務(wù)器購買。在這里可以購買租便宜的,節(jié)省成本。本身服務(wù)器只是作為一個中間服轉(zhuǎn)發(fā)數(shù)據(jù),不會消耗太多的性能。我們可以在家里弄一臺高配的電腦作為內(nèi)網(wǎng)服務(wù)器,然后申請一臺云服務(wù)器,通過frp實現(xiàn)內(nèi)網(wǎng)穿透,變相的提升了云服務(wù)器的性能,節(jié)省成本。
http 訪問
服務(wù)端配置
```
[common]
bind_port = 7000
vhost_http_port = 8080
```
啟動frp服務(wù)器:./frps -c frps.ini
客戶端配置
```
[web]
type = http
local_port = 80
custom_domains = test.example.com
```
啟動frp客戶端,./frpc -c frpc.ini
服務(wù)端和客戶端啟動之后,我們就可以在外網(wǎng)訪問內(nèi)網(wǎng)部署的服務(wù)器了
瀏覽其中輸入 test.example.com:8080 之后回車,可以看到正常的顯示了內(nèi)網(wǎng)服務(wù)器的內(nèi)網(wǎng)。
SVN服務(wù)器
我們在開發(fā)過程中匯總資源代碼管理的需求,而svn服務(wù)器在內(nèi)網(wǎng)中,我沒也可以使用內(nèi)網(wǎng)穿透技術(shù)實現(xiàn)svn外網(wǎng)的訪問。下面先介紹一下svn服務(wù)器的搭建,以mac os為例
1、創(chuàng)建倉庫
svnadmin /Users/Mac/svn/config
2、修改配置文件
在創(chuàng)建好的倉庫config下面可以看到conf目錄,此目錄中就是倉庫的配置文件,下面我們修改配置文件,一遍我們的倉庫可以被正確的訪問
修改svnserve.conf文件如下

修改passwd文件

這里的用戶名和密碼都是jiangjiang
接著修改authz文件

3、啟動svn服務(wù)器
svnserve -d -r /Users/Mac/svn/config
沒有報錯說明啟動成功
4、初始化倉庫
svn import /Users/Mac/svn/config/testconfig svn://127.0.0.1:3690/testconfig --username=jiangjing -m "init testconfig"
沒有錯誤說明創(chuàng)建成功
此時我們就可以通過svn co?svn://127.0.0.1/testconfig 來訪問我們的testconfig倉庫了
svn 服務(wù)器搭建完畢之后,就可以修改frpc.ini配置文件來支持svn的內(nèi)網(wǎng)穿透,修改配置文件如下:
[svn]
type = tcp
local_port = 3690
local_ip = 127.0.0.1
remote_port = 3690
custom_domains = svn.example.com
啟動客戶端
./frpc -c frpc.ini 沒有報錯,說明啟動成功
啟動成功之后我們就可以通過命令:svn co svn://svn.example.com/testconfig 在外網(wǎng)訪問我們內(nèi)網(wǎng)的svn倉庫了。