在阿里雲伺服器自己搭 ngrok 的伺服器,步驟基本跟著 [1, 2] 一步步來,本人需要用到:
這裡僅提幾點注意:
我那個阿里雲伺服器有個網域名稱,在管理頁可以看的,生成證書時設定export ngrok_domain="《那個網域名稱》"
就是用這個網域名稱,後面 ngrokd 的執行引數、client 端的配置檔案也要用到(好像說只要內網穿透的話只用 ip 也行?);
編譯前要改兩處源**,使 ngrok 從用 ipv6 轉回用 ipv4,見 [2],具體就是:
前作 [6]在小公尺球下的 windows 客戶端軟體好像不能用了,因為編譯的時候會將證書也一起寫進軟體裡(所謂 證書 參見 [1, 2] 的配置過程),所以在編譯的時候總共要編譯三個檔案:linux 的 server、linux 的 client、windows 的 client,即這幾條:
# linux server
goos=linux goarch=amd64 make release-server
# linux client
goos=linux goarch=amd64 make release-client
# windows client
goos=windows goarch=amd64 make release-client
要開放防火牆對應埠,用到哪些就開哪些,比如 ngrokd 執行的tunneladdr
和httpaddr
、客戶端配置檔案裡用到的那些埠,這些。下面貼配置檔案再說;
阿里雲的伺服器需要需要在它的網頁開放防火牆埠,在系統裡設定是沒用的(那個阿里雲的系統裡 firewalld 和 iptables 根本就沒開),參考 [3];
ngrokd
就是 ngrok 的 server 軟體的名字,為了啟動方便,將啟動命令寫成 shell 檔案,用到nohup
後台執行,也可以用screen
。log 檔案的操作見 [7]。
#!/usr/bash
# run.ngrokd.sh
ngrokd=/root/tom/ngrok/bin
date=
$(date +%y-%m-%d-%h-%m)
log=/root/tom/log/ngrokd.$date.log
nohup
$ngrokd/ngrokd -domain=
"《那個網域名稱》" -tunneladdr=
&1 &
這裡出現的tunneladdr
、httpaddr
、httpsaddr
要在防火牆那放行。
#!/bin/sh
# chkconfig: 2345 55 25
sh /root/tom/run.ngrokd.sh
就是執行上面寫的那個 ngrokd 啟動命令指令碼,但注意# chkconfig: 2345 55 25
這行,是我從同目錄下的nginx
檔案那抄來的,不加這行 [4] 中用chkconfig
的幾條命令會報錯,見 [5],加上就解決了。
client 端的軟體叫 ngrok,這裡分 windows 和 linux 兩台內網機器。
這兩個內網 client 的配置檔案中用到若干埠(那幾個50
開頭的),也要在防火牆放行。
# ngrok.windows.conf
server_addr: "《那個網域名稱》:《上面的 tunneladdr>"
http: 127.0.0.1:6006
將啟動命令寫成 .bat 檔案:
@echo off
set day=%date:~0,4%-%date:~5,2%-%date:~8,2%
set time=%time:~0,2%-%time:~3,2%
set ngrok=e:\ngrok
set log=%ngrok%\log\ngrok.%day%-%time%.log
%ngrok%\ngrok.exe -config=%ngrok%\ngrok.windows.conf -log=%log% start sshw mstscw jupyterw tensorboardw
注意這裡用新編譯的那個 ngrok.exe,而不是用 [6] 裡下的那個。[6] 下的那個也能用,但配置檔案就用回 [6] 裡的配置檔案。
也是下那個 linux 的 client 軟體,也是只有也個ngrok
檔案,放在自己內網的 linux 機器。
配置檔案 ngrok.linux.conf
# ngrok.linux.conf
server_addr: "《那個網域名稱》:《上面的 tunneladdr>"
http: 127.0.0.1:6006
這裡不用 mstsc,因為那個是 windows 的遠端登入。
啟動命令:
#!/bin/sh
date=
$(date +%y-%m-%d-%h-%m)
./ngrok -log=log/ngrok.$date.log -config=ngrok.linux.conf start sshl jupyterl tensorboardl
內網穿透 ngrok 伺服器和客戶端配置
ngrok 實現內網穿透
阿里雲端口開放
linux centos 開機自動啟動的設定方法
解決「service nginx does not support chkconfig」的問題?
用ngrok穿透內網訪問windows
.bat和.sh生成帶時間的log檔案
ubuntu開機啟動指令碼
ngrok伺服器搭建
參考部落格 一 安裝 git,golang yum install git golang mkdir ngrok cd ngrok git clone 三 生成自簽名證書 這一步不知道原理,照做就是 cd ngrok ngrok domain 我的網域名稱 openssl genrsa out ba...
搭建ngrok伺服器
1.安裝go sudo apt get remove golang go y cd opt sudo wget sudo tar c usr local xzf go1.11.2.linux amd64.tar.gz 配置環境變數 執行完成後需要替換證書 cp base.pem assets cli...
免費Ngrok伺服器及Ngrok部署
想直接使用ngrok服務的同學鏈結 ngrok.zxyun.top資料線ngrok服務 本環境在香港阿里雲 centos7 wget tar c usr local xzf go1.4.1.linux amd64.tar.gz sudo echo export path path usr local...