搭建ngrok服務(wù)器之?dāng)U展-創(chuàng)新互聯(lián)

說(shuō)明

了解本文之前,請(qǐng)先閱讀前兩篇博文。不然會(huì)感覺(jué)不知所云。本文主要是在前兩篇基礎(chǔ)上進(jìn)行發(fā)散思維擴(kuò)展及本博主遇到的一些問(wèn)題。希望對(duì)其他人有幫助,讓你少走彎路。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了濱湖免費(fèi)建站歡迎大家使用!

nginx端口轉(zhuǎn)發(fā)

如果服務(wù)器80端口已經(jīng)被占用了,可以利用nginx進(jìn)行端口的轉(zhuǎn)發(fā),加上如下配置即可:

vim /usr/local/nginx/conf/vhost/ngrok.XXX.com.conf

內(nèi)容如下:

upstream ngrok { server 127.0.0.1:8888; # 此處端口要跟 啟動(dòng)服務(wù)端ngrok 時(shí)指定的端口一致 keepalive 64; } server { listen 80; server_name *.ngrok.XXX.com; access_log /data/wwwlogs/ngrok.XXX.com_access.log; error_log /data/wwwlogs/ngrok.XXX.com_error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host:8888;  # 此處端口要跟 啟動(dòng)服務(wù)端ngrok 時(shí)指定的端口一致 proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; proxy_pass http://ngrok; } }

重啟nginx

service nginx reload

關(guān)于ngrok服務(wù)端

/usr/local/ngrok/bin/ngrokd -domain="ngrok.XXX.com" -httpAddr=":8888" -httpsAddr=":8889"

# domain填寫(xiě)剛才生成證書(shū)時(shí)的 NGROK_DOMAIN

# http和https端口可以自己指定,這里不采用80端口,是因?yàn)槠渌绦蛞呀?jīng)占用了,端口轉(zhuǎn)發(fā)在上面nginx已經(jīng)配置完成

# 如果想要后臺(tái)啟動(dòng),執(zhí)行以下命令(后臺(tái)啟動(dòng)有多種方法,選擇其一即可)

nohup /usr/local/ngrok/bin/ngrokd -domain="ngrok.XXX.com" -httpAddr=":8888" -httpsAddr=":8889" > /dev/null 2>&1 &

# 如果想要開(kāi)機(jī)啟動(dòng),在rc.local中添加以下內(nèi)容,具體內(nèi)容請(qǐng)根據(jù)自己情況自行調(diào)整

vim /etc/rc.d/rc.local

/usr/local/ngrok/bin/ngrokd -domain="ngrok.XXX.com" -httpAddr=":8888" -httpsAddr=":8889" > /var/log/ngrok.log &

關(guān)于ngrok客戶(hù)端

你編譯出來(lái)的客戶(hù)端和服務(wù)端是配套使用的,你可以把你的客戶(hù)端分享給別人使用,別人只能連接你的服務(wù)器,別的服務(wù)器是連接不上的。

確保linux版ngrok有執(zhí)行權(quán)限

chmod +x ngrok

ngrok程序的同級(jí)目錄下,編寫(xiě)配置文件

vim ngrok.cfg

內(nèi)容如下:

server_addr: "ngrok.XXX.com:4443" trust_host_root_certs: false tunnels:     test:         subdomain: "test" #定義服務(wù)器分配域名前綴         proto:         http: 80 #映射端口,不加ip默認(rèn)本機(jī)         https: 80     web:         subdomain: "web" #定義服務(wù)器分配域名前綴         proto:         http: 192.168.1.100:80 #映射端口,可以通過(guò)加ip為內(nèi)網(wǎng)任意一臺(tái)映射         https: 192.168.1.100:80     web1:         hostname: "ngrok.XXX.com"         proto:         http: 80     web2:         hostname: "XXX.com"         proto:         http: 80     ssh:         remote_port: 50001 #服務(wù)器分配tcp轉(zhuǎn)發(fā)端口,如果不填寫(xiě)此項(xiàng)則由服務(wù)器分配         proto:         tcp: 22 #映射本地的22端口     ssh2: #將由服務(wù)器分配端口         proto:         tcp: 21

啟動(dòng)ngrok

./ngrok -subdomain test -config=ngrok.cfg 80

# 或者

./ngrok -config ngrok.cfg start test

#如果在配置文件里有配置多個(gè)端口映射,可以start多個(gè)

./ngrok -config ngrok.cfg start test ssh

# 如果出現(xiàn)問(wèn)題連接不上,想在本地查看日志,可加上log參數(shù)

# ./ngrok -log ngrok.log -config ngrok.cfg start test

# 最終如果`Tunnel Status`顯示`online`則表示成功了

服務(wù)端防火墻

由于服務(wù)器上開(kāi)啟了防火墻,使用的是iptables,所以需要將上面的端口添加到白名單

一共3個(gè),一個(gè)是ngrok自身的4443端口,還有自定義的8888http端口,8889https端口

vim /etc/sysconfig/iptables

添加以下內(nèi)容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4443 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8889 -j ACCEPT

重啟iptables

service iptables restart

阿里云服務(wù)器設(shè)置

如果你的服務(wù)器是阿里公有云ECS,那么你需要進(jìn)行如下設(shè)置:管理控制臺(tái)--ESC實(shí)例--管理--本實(shí)例安全組--配置規(guī)則--創(chuàng)建規(guī)則。 把服務(wù)端監(jiān)聽(tīng)的三個(gè)端口放行就可以了。

搭建ngrok服務(wù)器之?dāng)U展

go語(yǔ)言環(huán)境安裝

上篇中介紹了yum安裝方法。此處是手動(dòng)安裝。根據(jù)自己的系統(tǒng)下載安裝包,下載地址http://www.golangtc.com/download

搭建ngrok服務(wù)器之?dāng)U展

下載完成后直接解壓。

tar -zxvf go1.7.4.linux-amd64.tar.gz  -C /usr/local

設(shè)置環(huán)境變量,可以根據(jù)自己需要調(diào)整路徑。

vim /etc/profile

export GOROOT=/usr/local/go

export PATH=$PATH:$GOROOT/bin

export GOPATH=$HOME/go

export GOROOT_BOOTSTRAP=/usr/local/go

使變量生效

source/etc/profile

查看是否安裝成功

go env

ngrok的交叉編譯

交叉編譯:就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。

網(wǎng)上有人說(shuō):服務(wù)器上要編譯windows客戶(hù)端版本時(shí),需要進(jìn)行如下設(shè)置:

cd /usr/local/go/src

GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 ./make.bash

我在別的服務(wù)器測(cè)試過(guò)后,不用這樣也行,直接按上篇的方法直接編譯即可。

我按上面進(jìn)行設(shè)置。反而會(huì)報(bào)這樣的錯(cuò):

go ./make.bash: eval: line 135: syntax error near unexpected token `(

ERROR: Cannot find /root/go1.4/bin/go.

Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

報(bào)錯(cuò)原因:go新版本不是用C編寫(xiě)的,而1.4之前的是C編寫(xiě)的,所以需要先安裝1.4的,才能編譯1.6的,于是便先安裝了1.4,再安裝1.6。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

分享文章:搭建ngrok服務(wù)器之?dāng)U展-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://bm7419.com/article10/dehhgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、小程序開(kāi)發(fā)、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管