內(nèi)網(wǎng)穿透免費工具常用的有frp、ngrok
我們這里使用frp來穿透我們的服務(wù)
官網(wǎng)網(wǎng)站:https://github.com/fatedier/frp
使用說明:https://github.com/fatedier/frp/blob/master/README_zh.md
下載地址:https://github.com/fatedier/frp/releases
使用前置條件,需要有一臺有公網(wǎng)IP的服務(wù)器運行穿透服務(wù)端
注:如果服務(wù)端運行在中國大陸,想使用80端口,域名需要先按照法規(guī)備案才可以使用
根據(jù)機器CPU架構(gòu)和操作系統(tǒng),下載對應(yīng)程序
按照說明配置服務(wù)端文件,重點端口,密碼,域名
樣例配置文件frps.ini如下:
[common]
bind_addr = 0.0.0.0
#監(jiān)聽端口
bind_port = 7000
#通信密碼
token = woshimima
#用子域名映射http方式對應(yīng)的父域名,需要提前到DNS服務(wù)提供商指向你的公網(wǎng)機器
subdomain_host = map.xxx.com
#使用http映射方式使用以下端口給用戶提供服務(wù)
vhost_http_port = 81
vhost_https_port = 444
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = user
dashboard_pwd = pass
上傳程序和配置文件,賦予權(quán)限,使程序可以運行,在機器執(zhí)行:./frps -c frps.ini
服務(wù)端配置運行完畢。
在能訪問到docker引擎機器的任意一臺機器上運行內(nèi)網(wǎng)穿透客戶端(建議就在docker機器上)
樣例配置文件frpc.ini如下:
[common]
#對應(yīng)公網(wǎng)ip
server_addr = 123.123.123.123
#通信端口
server_port = 7000
#通信密碼
token = woshimima
#節(jié)點名,要求唯一
[web-api]
type = http
#內(nèi)網(wǎng)地址,填寫docker機器的內(nèi)網(wǎng)ip地址
local_ip = 192.168.1.234
#內(nèi)網(wǎng)服務(wù)端口,docker服務(wù)映射到宿主機的服務(wù)端口
local_port = 8080
#映射子域名,可自定義,不能和其他服務(wù)的子域名重復(fù)
subdomain =test
上傳程序和配置文件,賦予權(quán)限,使程序可以運行,在機器執(zhí)行:./frpc?-c frpc.ini
按上述說明執(zhí)行成功后,就已經(jīng)使用內(nèi)網(wǎng)穿透服務(wù)了
使用瀏覽器打開:http://test.map.xxx.com:81/
實際訪問到的是docker機器(機器IP:192.168.1.234)的8080端口的HTTP服務(wù)
更多高級frp功能詳見frp中文說明