自搭ngrok伺服器

2021-10-02 00:27:22 字數 3835 閱讀 6773

在阿里雲伺服器自己搭 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 執行的tunneladdrhttpaddr、客戶端配置檔案裡用到的那些埠,這些。下面貼配置檔案再說;

阿里雲的伺服器需要需要在它的網頁開放防火牆埠,在系統裡設定是沒用的(那個阿里雲的系統裡 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 &

這裡出現的tunneladdrhttpaddrhttpsaddr要在防火牆那放行。

#!/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...