Ngrokを使用してCentOSの7は、サービスを介して、ネットワーク内に設置しました
リライアンスのインストール
インストール行くのロケール
sudo yum install -y golang
外出先ロケールを確認してください
go env
gitの最新バージョンをインストールします。
sudo yum remove git
sudo yum install epel-release
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install git2u
gitのバージョンを確認します
git --version
インストールNgrok
最新のソースNgrokをダウンロード
Ngrok Gtihub住所:
https://github.com/inconshreveable/ngrok/releases
保存Ngrokソース
cd /usr/local/
git clone https://github.com/inconshreveable/ngrok.git
自己署名証明書を生成します
xxx.com独自のドメイン名を置き換え、どの
cd /usr/local/ngrok/
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=xxx.com" -days 5000 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=xxx.com" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
証明書の生成後、元の証明書Ngrok上書きし、それをコピーします
かどうか、ソースファイルの上書きコピーにプロンプトが表示され、入力yに
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key
クライアントソフトウェアの生成
サーバーは、コンパイルされたソフトウェアを実行します
cd /usr/local/ngrok/
GOOS=linux GOARCH=amd64 make release-server
ソフトウェアは、ディレクトリを生成します:は/ usr / local / ngrok / binに
サーバソフトウェアのファイル名:ngrokd
クライアントソフトウェアの実行がコンパイル:
# 32位linux客户端:
GOOS=linux GOARCH=386 make release-client
# 64位linux客户端:
GOOS=linux GOARCH=amd64 make release-client
#32位windows客户端:
GOOS=windows GOARCH=386 make release-client
#64位windows客户端:
GOOS=windows GOARCH=amd64 make release-client
#32位mac平台客户端:
GOOS=darwin GOARCH=386 make release-client
#64位mac平台客户端:
GOOS=darwin GOARCH=amd64 make release-client
#ARM平台linux客户端:
GOOS=linux GOARCH=arm make release-client
ソフトウェアは、ディレクトリを生成します:は/ usr / local / ngrok / binに/
Linuxプラットフォームのクライアント・ソフトウェア・ファイル名:ngrok
Windowsプラットフォーム64:windows_amd64 / ngrok.exe
MAC 64プラットフォーム:darwin_amd64 / ngrok
ファイル名を指定して実行ソフトウェア
ファイアウォールの設定
Ngrok恒久的に開いているポートサービス
firewall-cmd --add-port=6666/tcp --zone=public --permanent
firewall-cmd --reload
DNSの設定
あなたは、コンフィギュレーションを解析する必要があります。
主机记录 记录值
* 服务器公网 ip
@ 服务器公网 ip
www 服务器公网 ip
サーバソフトウェアを実行します
xxx.comは、独自のドメイン名に置き換えます
直接実行
CDは/ usr / local / ngrok / binに/
ngrokd -domain="xxx.com" -httpAddr=":8864" -httpsAddr=":8865" -tunnelAddr=":6666" &
証明書を使用して起動します
CDは/ usr / local / ngrok / binに/
ngrokd -domain="xxx.com" -tlsKey="../assets/server/tls/snakeoil.key" -tlsCrt="../assets/server/tls/snakeoil.
クライアントソフトウェアを起動します
クライアントソフトウェアを実行する前に、同じレベルのソフトウェアファイルフォルダにプロファイルを作成する必要がNgrok.yml
server_addr: "xxx.com:6666"
trust_host_root_certs: false
ランは、クライアントのディレクトリにcmdと
クライアント
ngrok.exe -config ngrok.yml -subdomain api 8022
-subdomain:セカンドレベルドメイン名の後ろの地面
8022:ローカルポートマッピング
最適化ngrokサービス - セットブーツ
まず、プログラムディレクトリ、例えば、起動スクリプトを作成ngrok:
start.sh
path=/software/git/ngrok
$path
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt
-domain = "ドメイン" -httpAddr = "80" -httpsAddr = ":8082"
パスは現在のディレクトリへのパスで
、自分のニーズに応じて書くために、プロジェクトの開始の背景を開始するスクリプトを記述するために起動スクリプト
第二に、システムサービスngrokに作られたプログラム
次のように、/etc/rc.d/init.dのディレクトリ内のサービス事業(ngrok)を作成します。
#!/bin/sh
#chkconfig:2345 70 30
#description:ngrok
ngrok_path=/software/git/ngrok
case "$1" in
start)
echo "start ngrok service.."
sh ${ngrok_path}/start.sh
;;
*)
exit 1
;;
esac
ファイルのパーミッション755に割り当てられました
chmod 755 ngrok
第三に、サービス登録の発売以来ngrok
chkconfig --add ngrok
サービスが正常に起動することができるかどうかをテスト
service ngrok start
サービスの発売以来チェック
chkconfig