AWS搭建ngrok內網轉發伺服器

AWS搭建ngrok內網轉發伺服器

相信搞過微信開發、小程式的同學都踩過除錯的坑,那種線上折騰通常能讓你憋上一口老痰。當然你也可以找其他的方式進行內網轉發,比如用QQ瀏覽器、別人已經搭建好的轉發服務、使用ssh nginx

這個mercurial

設定go

檢查一下go


看到GOPATH

設定環境變數:

export GOPATH=/usr/local/ngrok/ 
#這裡寫你自己的域名,建議你用二級域名,比如你有個域名為:baidu.com,那麼這裡就可以為:ngrok.baidu.com.  
export NGROK_DOMAIN="ngrok.xxx.com" 

當然你會問,為什麼不直接使用baidu.com

拷貝證書覆蓋ngrok原來的證書:

過程會讓你輸入y 回車
cp rootCA.pem assets/client/tls/ngrokroot.crt 
cp server.crt assets/server/tls/snakeoil.crt 
cp server.key assets/server/tls/snakeoil.key

生成服務端:

cd /usr/local/ngrok/  
make release-server
#這一步可能會出錯的,我之所以會寫這篇文章,是因為這個地方出現了好幾次錯誤,容易崩潰

如果順利的話,生成的服務端在/usr/local/ngrok/bin

解決方法:

cd /usr/local/ngrok
mkdir bin  
cp $GOBIN/go-bindata bin/  
unset GOBIN

這裡說明一下,預設下go get

到這一步基本算是安裝完成了。

啟動服務端

這裡為了方便我直接就用80埠了,請確認你的80埠沒有被佔用,關閉相應的服務。
後面要想用,建議使用nginx反向代理到ngrok。

cd /usr/local/ngrok/bin
./ngrokd -domain="xxx.com" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"
#-domain後面你上面寫的域名,如上面寫的:ngrok.baidu.com  -httpAddr http埠  -httpsAddr https 埠 預設為:443
#-tunnerlAddr 客戶端埠,連線埠,預設為:4443

啟動客戶端

先將伺服器生成的客戶端ngrok

然後同目錄下建立檔案ngrok.cfg 配置檔案:

server_addr: "ngrok.xxx.com:4443"   #你上面自己寫的域名,如ngrok.baidu.com
trust_host_root_certs: false  
#目錄下開啟命令列
./ngrok -config=./ngrok.cfg -subdomain=blog 80 -log=ngrok.log
#這裡subdomain後面是你的三級域名字首,你可以改
#注意要在域名解析裡新增三級域名解析
#最好新增一個log, 不然出錯了,容易一臉懵逼

這樣就可以了,然後在訪問blog.ngrok.xxx.com

aws 如果是自己免費申請的,不用的時候記得關閉,不然超時那也要掏錢的。

參考文章

https://github.com/inconshrev…

https://blog.csdn.net/yjc_111…

https://blog.csdn.net/gebitan…

https://blog.csdn.net/qq_3656…

https://segmentfault.com/a/11…