Ngrokを使用してCentOSの7は、サービスを介して、ネットワーク内に設置しました

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
リリース5元の記事 ウォンの賞賛0 ビュー1473

おすすめ

転載: blog.csdn.net/qq_32562005/article/details/104175863