ウェブサイト検索

Ngrok を使用してインターネット上のローカル Web サイトまたはアプリをテストする方法


あなたはウェブサイトまたはモバイル アプリケーションの開発者で、NAT またはファイアウォールの背後にあるローカルホスト サーバーをテスト目的で公共のインターネットに公開したいと考えていますか?このチュートリアルでは、ngrok を使用してこれを安全に行う方法を説明します。

Ngrok は、NAT やファイアウォールの背後にあるローカル サーバーを安全なトンネル経由でパブリック インターネットに公開する、センセーショナルな無料のオープン ソースのクロスプラットフォーム リバース プロキシ サーバーです。これは、自宅から直接パーソナル クラウド サービスを実装するために使用できる優れたコンピュータ プログラムです。

基本的にはローカルホストへの安全なトンネルを確立するため、実際の展開前に Web サイトのデモを実行したり、ローカルで実行されているバックエンドに接続されたモバイル アプリをテストしたり、開発マシン上で Web フック コンシューマを構築したりすることが可能になります。

ングロクの特徴:

  • 主要なプラットフォームに対して実行時の依存関係がなく、簡単にインストールでき、高速に動作します。
  • 安全なトンネルをサポートします。
  • 後で検査して再生できるように、トンネル上のすべてのトラフィックをキャプチャして分析します。
  • ルーターでのポート転送を廃止できます。
  • HTTP 認証 (パスワード保護) の実装を有効にします。
  • TCP トンネルを使用して、SSH などの HTTP を使用しないネットワーク化されたサービスを公開します。
  • SSL/TLS 証明書を使用した HTTP または HTTPS のトンネリングのみをサポートします。
  • 複数の同時トンネルをサポートします。
  • Webhook リクエストを再実行できるようにします。
  • 仮想ホスト サイトを操作できるようにします。
  • API と有料プランの多くのオプションを介して自動化できます。

使用する前に、Web サーバーをインストールするか、機能する LAMP または LEMP スタックのセットアップを検討する必要があります。それ以外の場合は、次のガイドに従ってください。

Linux に LAMP スタックをインストールします。

  1. RHEL/CentOS 7.0 への LAMP (Linux、Apache、MariaDB、PHP/PhpMyAdmin) のインストール
  2. Ubuntu 16.10 に PHP 7 および MariaDB 10 を使用して LAMP をインストールする方法

Linux に LEMP スタックをインストールします。

  1. Debian 9 Stretch に LEMP (Linux、Nginx、MariaDB、PHP-FPM) をインストールする方法
  2. 16.10/16.04 に Nginx、MariaDB 10、PHP 7 (LEMP スタック) をインストールする方法
  3. 最新の Nginx、MariaDB、PHP を RHEL/CentOS 7/6 および Fedora 20-26 にインストールする

Linux に Ngrok をインストールする方法

Ngrok のインストールは非常に簡単です。以下のコマンドを実行して、単一のバイナリを含むアーカイブ ファイルをダウンロードして解凍します。

mkdir ngrok
cd ngrok/
wget -c https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
ls

バイナリ ファイルを取得したら、Web サーバーへのリクエストをテストするために、Web サーバー (Apache) のデフォルト ドキュメント ルートに基本的な index.html ページを作成しましょう。

sudo vi /var/www/html/index.html

次の HTML コンテンツをファイルに追加します。

<!DOCTYPE html>
<html>
        <body>
                <h1>This is a TecMint.com Dummy Site</h1>
                <p>We are testing Ngrok reverse proxy server.</p>
        </body>
</html>

ファイルを保存し、http ポート 80 を指定して ngrok を起動します (別のポートでリッスンするように Web サーバーを設定している場合は、そのポートを使用する必要があります)。

ngrok http 80

開始すると、ターミナルに次のような出力が表示されるはずです。

Ngrok UI を使用して Web サーバーへのトラフィックを検査する方法

Ngrok は、トンネル上で実行されているすべての HTTP トラフィックをリアルタイムで検査できるシンプルな Web UI を提供します。

http://localhost:4040 

上記の出力から、サーバーに対してまだリクエストは行われていません。まず、以下の URL を使用してトンネルの 1 つにリクエストを送信します。他のユーザーもこれらのアドレスを使用してサイトやアプリにアクセスします。

http://9ea3e0eb.ngrok.io 
OR
https://9ea3e0eb.ngrok.io 

次に、検査 UI を確認して、時間、クライアント IP アドレス、期間、ヘッダー、リクエスト URI、リクエスト ペイロード、生データなどのリクエストとレスポンスの詳細をすべて取得します。

詳細については、Ngrok ホームページを参照してください: https://ngrok.com/

Ngrok は単純に素晴らしいツールであり、これまでに見つけた中で最もシンプルで強力な安全なローカル トンネル ソリューションです。より多くの帯域幅を取得するには、無料の ngrok アカウントの作成を検討する必要がありますが、さらに高度な機能が必要な場合は、有料アカウントにアップグレードしてみてください。このソフトウェアに関するご意見を、以下のコメント フォームからぜひお知らせください。