前端開發 ngrok 指北

2021-09-24 06:45:49 字數 3689 閱讀 8863

首先當然是要做的準備工作,你需要準備:

乙個有固定公網 ip 的伺服器 (或者能通過 cname 解析到的伺服器也行);

乙個網域名稱 (國內使用者請參考是否需要備案等要求選購);

ssl 證書 (可選,可以稍後再申請);

docker

因此,將 ngrok 放置在 docker 容器中監聽80443埠,並對外暴露不同的埠號,使用 nginx 進行****,這樣就能避免上面的問題了。

$ wget  -co lnmp1.5.tar.gz 

$ tar zxf lnmp1.5.tar.gz && cd lnmp1.5

$ [sudo] ./install.sh lnmp

複製**

由於我的伺服器記憶體較小,我選擇跳過了 mysql 安裝並安裝了低版本的 php 環境,您應該根據需要自行選擇;或者您要是熟悉 nginx 的 ssl 配置的話,可以選擇跳過本章節,手動申請網域名稱並配置****。

完成 lnmp 安裝後,可以使用它提供的命令來方便的申請泛網域名稱證書,使用下面的命令,按照螢幕上的提示完成配置即可:

$ [sudo] lnmp dnsssl

複製**

注意儲存生成的證書路徑資訊,下面會用到。

如果您是手動在 let's encrypt 申請的泛網域名稱證書,那還請注意它的有效期只有三個月,到期還需要手動更新。

完成後,lnmp 會幫助您建立乙個 nginx vhost 配置檔案,位置在/usr/local/nginx/conf/vhost/.conf,參考下面的配置替換原有內容:

}複製**

$ curl -fssl  -o get-docker.sh

$ chmod +x ./get-docker.sh

$ ./get-docker.sh

複製**

你可能需要輸入 sudo 密碼來獲取管理員許可權。國內使用者可以在./get-docker.sh後面加上--mirror aliyun來使用阿里雲 docker 映象。

這裡我參考了 hteen/docker-ngrok 的寫法,不過我不需要在編譯前自簽名 ssl 證書,所以我簡化了他的寫法並優化了映象構建過程 (最後生成的映象只有18.7m?):

複製**

完成後,使用下面的命令構建映象:

$ docker build -t ngrok .

複製**

使用也非常簡單,不過您需要將上面生成的 ssl 證書路徑作為共享卷掛載到 docker 容器中,ngrok 需要能訪問到這些證書:

# 例如我的證書放在 /usr/local/nginx/conf/ssl/tunnel.your.domain 下:

$ docker run -d --name ngrok-srv \

> -p 5442:80 -p 5443:443 -p 4443:4443 \

> -v /usr/local/nginx/conf/ssl/tunnel.your.domain/certs:/usr/local/ngrok/certs \

> -e ngrok_domain='tunnel.your.domain' \

> -e tls_key=/usr/local/ngrok/certs/tunnel.your.domain.key \

> -e tls_crt=/usr/local/ngrok/certs/fullchain.cer ngrok

複製**

本地 ngrok 客戶端連線時,你還需要這些配置:

server_addr:

tunnel.your.domain:4443

trust_host_root_certs:

true

複製**

將上面的內容儲存為ngrok.yml,你可以這樣使用它:

$ ngrok -config ngrok.yml -subdomain test 3000

複製**

ok ?,就是這樣,你可以寫個 express 服務快速測試一下:

res.send(`introspected tunnels to localhost

});console.log('listen on port 3000!');

複製**

開啟瀏覽器,訪問:

是不是很酸爽? ?

ngrok 作為一項知名開源內網穿透專案而為人所熟知,然而人家也是要恰飯的嘛,所以 ngrok@2 就閉源了,成為了乙個商業付費專案,不過好在 [email protected] 的原始碼還在 github 上可以找到,所以早 fork 保平安咯~

前端開發神器之ngrok

ngrok能做什麼,為什麼是前端開發神器?內網穿透,對映本地開發環境到公網,模擬多終端線上環境。結合乙個很簡單的pwa demo,舉個簡單的例子 1.轉殖demo到本地git clone 2.本地8080埠執行demo 複製 3.ngrok內網穿透到公網 複製 4.檢視公網位址 chrome 複製 ...

微信開發 配置 Ngrok

工欲善其事必先利其器 解壓到 usr local tar zxvf go1.8.3.linux amd64.tar.gz c usr local新增環境變數 echo export path path usr local go bin etc bashrc source etc bashrc首先我們...

微信開發之ngrok內網穿透工具

最近發現了乙個神器,也是基於ngrok的,但他免費!沒聽錯,自定義網域名稱免費。官方管理平台 為 下面是使用方法 1 按提示註冊乙個使用者,然後登陸主頁面如下 這裡比較關鍵的是那個token,後面是要加入到配置檔案中的 2.配置系統預留的網域名稱字尾或者自定義網域名稱,如圖所示 這裡著重說一下自定義...