学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Rails7.1 | ngrok

↓↓クリックして頂けると励みになります。



Rails7.1でngrokを利用する方法を解説します。


Ngrokは、公開されているネットワーク上にローカルなサーバーを公開するためのツールです。これを使用すると、開発環境やローカルホスト上で実行されているウェブサーバーなど、ローカルネットワーク上のサービスを外部からアクセス可能にすることができます。

通常、開発者やテスターはローカルでアプリケーションを開発およびテストするために、ローカルホスト上でウェブサーバーを起動します。
しかし、これらのサーバーには通常、外部からアクセスできません。
Ngrokは、公開された一時的なURLを提供することで、外部からローカルサーバーにアクセスできるようにします。


下記のページより、ngrokをダウンロードします。
ngrok.com


ホーム右上の「Download」をクリックします。

Downloadをクリック
Downloadをクリック



「Download ZIP file」をクリックします。

Download ZIP File
Download ZIP File



ZIPファイルを解凍すると、ngrokの実行ファイルができるので、それを適当な場所に置きます。
今回はDeskTopに置くことにします。


ngrokを利用するにはWebサービス認証を済ます必要があります。
認証にはトークンをngrokのマイページから取得して設定します。
認証作業は初回のみです。


サインアップします。

サインアップ
サインアップ



認証アプリケーション「Salesforce Authenticator」をスマートフォンにダウンロードし、表示されるQRコードを読み取れば、認証コードを取得することができます。


ログインできたら、認証コードをコピーします。

認証コードをコピー
認証コードをコピー



Rails7.1の設定をします。
Rails6からセキュリティーの関係で、設定をしないと以下のようなエラーがでます。

ngrokアクセスエラー
ngrokアクセスエラー
Blocked hosts: 2a11-219-160-53-194.ngrok-free.app, 2a11-219-160-53-194.ngrok-free.app
To allow requests to these hosts, make sure they are valid hostnames (containing only numbers, letters, dashes and dots), then add the following to your environment configuration:
    config.hosts << "2a11-219-160-53-194.ngrok-free.app"
    config.hosts << "2a11-219-160-53-194.ngrok-free.app"
  
For more details view: the Host Authorization guide



ngrokのアクセス許可を「config/environments/development.rb」ファイルに追加すれば、このエラーは回避できます。


記述追加 【config/environments/development.rb】

# ngrok
  config.hosts << '.ngrok-free.app'



Visual Studio Codeでターミナルの分割をします。
この時、Railsのサーバーも起動しておいてください。

ターミナルの分割
ターミナルの分割



分割したターミナルでDeskTopに移動します。
コマンド
cd ~/DeskTop


コピーした認証トークンを以下のコマンドの後ろに貼り付け、実行します。
コマンド
./ngrok config add-authtoken ここにコピーした認証トークンを貼り付け

認証トークン貼り付け
認証トークン貼り付け



ngrokを起動します。
コマンド
./ngrok http 3000


表示されているhttpsのアドレスにアクセスしてみます。

ngrokのURLにアクセス
ngrokのURLにアクセス



無事ページが表示されれば成功です。

アクセス成功
アクセス成功





↓↓クリックして頂けると励みになります。