簡單搭建 ngrok 服務器,實現內網穿透(資源)

摘要: 快速搭建 ngrok 服務器,或者直接運行我製做的ngrok服務器的鏡像來啓動node

爲啥搭建 ngrok 服務器

 

在作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

相關文章
相關標籤/搜索