1永脓、準(zhǔn)備一個(gè)域名,可以不用備案。
2拳昌、為域名添加解析。如域名為:xxx.com? ?ip地址為:xxx.xx.xx.xx
域名地址解析1:xxx.com? ?指向ip?xxx.xx.xx.xx
域名地址解析2:*.xxx.com?指向ip?xxx.xx.xx.xx
NGROK是一個(gè)反向代理钠龙,它創(chuàng)建了一個(gè)從公共端點(diǎn)到本地運(yùn)行的Web服務(wù)的安全隧道炬藤。NGROK捕獲和分析隧道上的所有流量,以便以后檢查和重放碴里。
一沈矿、搭建ngrok 服務(wù)器
1、安裝GNU編譯器套件咬腋、git(用于下載Ngrok源碼)羹膳、以及GO語(yǔ)言環(huán)境
yum install gcc -y
yum install git -y
yum install -y mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386
2、安裝lrzsz 根竿,screen
yum install lrzsz -y
yum install screen -y
3陵像、下載ngrok源碼。如:下載到opt目錄下寇壳,則進(jìn)入到opt文件夾然后執(zhí)行以下命令
git clone https://github.com/inconshreveable/ngrok.git
進(jìn)入ngrok可以看到如下:
4醒颖、進(jìn)入到ngrok文件夾并生成證書(shū)。
#這里為自己購(gòu)買(mǎi)的域名地址?
export ngrok_domain="jmps.cloudlinks.cn"
cd ngrok?
export NGROK_DOMAIN="jmps.cloudlinks.cn"
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
5壳炎、將生成的證書(shū)拷貝到相應(yīng)目錄下替換,記住不要少了前面的斜杠泞歉。不然復(fù)制一個(gè)就會(huì)提示是否覆蓋
\cp -rf rootCA.pem assets/client/tls/ngrokroot.crt
\cp -rf device.crt assets/server/tls/snakeoil.crt
\cp -rf device.key assets/server/tls/snakeoil.key
6、編譯生成ngrok的服務(wù)端 客戶端必須和服務(wù)端一直(證書(shū)要編譯到客戶端里)
GOOS=linux GOARCH=amd64 make release-server
7冕广、生成客戶端疏日。
生成windows 64位客戶端:
GOOS=windows GOARCH=amd64 make release-client
生成windows 32位客戶端(以下生成客戶端同理,將goarch值改為386即可):
GOOS=windows GOARCH=386 make release-client
生成mac 客戶端:
GOOS=darwin GOARCH=amd64 make release-client
生成linux客戶端:
GOOS=linux GOARCH=amd64 make release-client
8撒汉、獲取生成的客戶端沟优。
客戶端在ngrok 的bin目錄下〔欠可以看到挠阁,我在這里生成了windows及mac版本的客戶端,進(jìn)入相應(yīng)文件夾溯饵,下載客戶端到本地電腦侵俗。
9、開(kāi)啟screen功能丰刊。以便查看相應(yīng)日志隘谣,及切回到終端,達(dá)到后臺(tái)執(zhí)行的目的
screen -ls? ;? ? 找到screen會(huì)話
切換到相應(yīng)的會(huì)話。
10寻歧、開(kāi)啟ngrok服務(wù)程序掌栅,命令如下:
./ngrokd -domain="snibean.online" -httpAddr=":8099" -httpsAddr=":443" -tunnelAddr=":8083"
可以看到這里http我使用的是8099 端口,https用的443端口码泛。猾封。tunnel使用8083端口。
11噪珊、為服務(wù)器開(kāi)放以上端口晌缘。我這里系統(tǒng)是centos7,命令如下:
firewall-cmd --zone=public --add-port=8099/tcp --permanent?
firewall-cmd --zone=public --add-port=443/tcp --permanent?
firewall-cmd --zone=public --add-port=8083/tcp --permanent?
#由于本人要使用到遠(yuǎn)程桌面連接痢站。故開(kāi)放3389端口
firewall-cmd --zone=public --add-port=3389/tcp --permanent?
12磷箕、新建文件ngrok.cfg 內(nèi)容如下:
server_addr: "域名地址:8083"
trust_host_root_certs: false
tunnels:
? ? http:
? ? ? ? subdomain: "aaa"
????????proto:
????????????http: "8082"
????https:
????????subdomain: "bbbb"
????????proto:
????????????https: "443"
????mstsc:
????????remote_port: 3389
????????proto:
????????????tcp: "127.0.0.1:3389"
注意,內(nèi)容里面不能使用tab來(lái)進(jìn)行對(duì)齊 瑟押,只能使用空格搀捷。我這里只保留了mstsc做遠(yuǎn)程桌面連接使用。
server_addr: "域名:8083"
trust_host_root_certs: false
tunnels:
? mstsc:
? ? ? ? remote_port: 3389? ? ?
? ? ? ? proto:
? ? ? ? tcp: "127.0.0.1:3389"
保存后將此文件與下載的客戶端文件ngrok.exe放到同級(jí)目錄多望。
13嫩舟、運(yùn)行客戶端。
ngrok -config=ngrok.cfg start? mstsc
出現(xiàn)如下圖所示則表示連接成功怀偷。
到此搭建完畢家厌,即可以進(jìn)行遠(yuǎn)程桌面連接。
輸入:? 域名地址:3389? ? ?以及用戶名密碼即可
14椎工、新建start.bat文件饭于,將以下內(nèi)容加入到此文件后保存,即可以雙擊start.bat進(jìn)行啟動(dòng)维蒙。
ngrok -config=ngrok.cfg start? mstsc