16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

構築中サイトのテスト公開に便利、「ngrok」(エングロック)の使い方

Last updated at Posted at 2021-08-30

ngrokマイページ・ダッシュボード

ngrokとは

ローカルPCで構築中のWebサイトを外部公開できるサービスおよびCLIアプリです。3e26.*****.jp.ngrok.io のように、ngrokが自動生成するURLを使って、外部の人に簡単にアクセスさせることが可能です。

ngrok実行イメージ

主な利用シーン

  • スマホ実機でローカル環境にアクセス
  • リモートチームメンバーに共有
  • 制作中のサイトを顧客に見せる

ngrokを使えば、テスト用サーバを用意せずに、カジュアルに外部公開できます。

必要条件

ローカルPCでWebサーバが動作していることが前提です。

アカウントの作成

  1. ngrok公式サイトでアカウントを作成します。GitHubアカウントを使用することで簡単に作成できます。
  2. アカウント作成後、ユーザ画面にログインします。

クライアントのインストール

Macでのインストール

  1. ダッシュボードに表示されるコマンドをコピーして、ターミナルで実行します。トークンが自動で埋め込まれているので、そのままコピペするだけでインストールと初期設定が完了します。

Macの場合

WSLでのインストール

Linuxのインストール手順を使います。Macと同様、コピペでインストールが可能です。下記は、パッケージリポジトリを追加する手順が含まれるため少し複雑に見えますが、インストール自体はaptコマンドで行うようになっています。

Linuxの場合

なお、Linux用Homebrewではインストールできません。

Windowsでのインストール(非WSL)

ngrok公式サイトでは、Chocolatyを使ったインストール手順が提供されており、Macの場合と同様、コピペで簡単にインストールと初期設定を済ませることができます。

Chocolatyをインストールしていない場合は、代わりに、Windowsで広く普及しているWinGetを使ってインストールすることを推奨します。

WinGetでのインストール

winget install Ngrok.Ngrok

もしWinGetがインストールされていない場合は、Microsoft Storeアプリから簡単にインストールできます。

Chocolatyでのインストール

Chocolatyを導入済みの場合は、以下の公式コマンドでインストールするとよいでしょう。

choco install ngrok

ngrokの使い方

以下のコマンドでローカルのWebサイトを外部公開できます。

ngrok http 80

ngrok実行イメージ

生成されたURL(例: 3e26.*****.jp.ngrok.io)を他のメンバーや顧客に共有できます。公開を停止したい場合は、ctrl + c で停止できます。

稼働状態の確認

稼働中のngrokトンネルの状態は、以下のURLで確認できます。

http://127.0.0.1:4040

稼働状態の確認

永続的な固定URLの利用

永続的な固定URLを利用することもできます。セッションごとにURLが変わる通常の利用とは異なり、一度生成された固定URLは同じものを何度でも使うことができます。

「Claim your free static domain.」をクリックすると、永続的な固定URLが自動生成されます。URLを構成される文字列はランダムに決定されます。

Claim your free static domain

自動生成されたURLが気に入らない場合、何度でも再生成が可能です。有料プランを契約すると、任意のURLを設定できるようになります。

固定ドメイン生成

SSHでのトンネル構築

ngrokでは、SSH公開鍵を登録することで、SSHのRオプションを使ってトンネルを実現できます。これにより、ngrokコマンドのインストールが不要になります。

SSH Public Keysのページ内では、SSH公開鍵を登録した後、提供されているコマンドラインをコピペして使うだけで簡単にトンネルを開始できます。

ページ内に書かれているように、以下のコマンドでトンネルを開始できます。

ssh -R 443:localhost:80 v2@connect.ngrok-agent.com http

このコマンドを使用することで、ローカルのポート80をリモートのポート443にリバーストンネリングし、ngrokエージェントを介してトンネルを構築できます。

まとめ

ngrokを使うことで、簡単なコマンド一つでローカル環境を外部に公開できます。

16
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?