摘要: 快速搭建 ngrok 服務器,或者直接運行我製做的ngrok服務器的鏡像來啓動node
在作Web開發時,咱們須要將一個本地的Web網站暴露給外網訪問(好比我在作本地開發微信時)。linux
ngrok 是一個反向代理工具,咱們能夠直接下載官網的客戶端使用,可是由於官網服務器在國外,比較慢,並且免費版不支持綁定二級域名。git
公網的linux服務器(最好是centos7,一步經過)github
獨立域名golang
若是對docker熟悉的話能夠直接運行我製做的ngrok服務器的鏡像來啓動https://github.com/jueying/docker-ngrok-serverdocker
1. 安裝git, golang和opensslcentos
git版本和golang版本不能太舊,centos7默認安裝git1.8.3,go1.8.3瀏覽器
2. clone ngrok項目到本地服務器
3. 生成證書微信
# 這裏替換爲本身的獨立域名
export NGROK_DOMAIN="huahongbin.cn"
#進入到ngrok目錄生成證書
cd /usr/local/ngrok
# 下面的命令用於生成證書
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
# 將咱們生成的證書替換ngrok默認的證書
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
4. 編譯不一樣平臺的服務端和客戶端
執行後會在ngrok/bin目錄及其子目錄下看到服務端ngrokd和客戶端ngrok.exe。
5. 啓動服務端
6. 啓動客戶端
將ngrok.exe拷貝到本地文件夾中(能夠用winscp),並在文件夾新建配置文件ngrok.cfg,內容以下:
域名替換爲本身的獨立域名,端口替換爲啓動ngrok服務器設置的tunnel端口。
而後在cmd中使用如下命令啓動:
80即爲你要代理的本地端口
在瀏覽器中輸http://127.0.0.1:4040 能夠看到具體的請求信息。
編譯時在下面步驟卡主 go get gopkg.in/yaml.v1 這是由於Git版本過低,請將服務器git版本升級到1.7.9.5以上。
由於ngrok首次編譯時須要在國外網站下載一些依賴。可能會很慢甚至timeout。多嘗試幾回,或者你懂得。
連接 :
基於CentOS利用ngrok完美進行內網穿透 : https://blog.ansheng.me/article/centos-ngrok-intranet-penetration