プログラミング

ローカル環境からアプリを一瞬で外部公開する方法

「作ったアプリをちょっと誰かに見せたい!」
そんな時、普通ならHerokuのようなPaaSやAWSなどのクラウドサービスを使ってデプロイする必要があります。でも、それってちょっと面倒くさいですよね。

この記事では、ローカル環境で動いているアプリを一時的に外部公開したい時に便利なサービスを紹介します。
ただし、本番運用にはおすすめしません。自己責任でどうぞ!

※筆者はmacユーザーのため、Windows手順は割愛しています。

1. ngrok

利用手順

まずは、ngrok公式サイトにサインインします。
サインイン後、macOS向けのインストール手順はこちらに書かれています。

以下利用手順の画像も貼っておきます。

上記の3ステップでOK!

8080 の部分は、自分のアプリが動いているポートに変更してください。

たったこれだけで外部公開できます。簡単すぎてびっくり。

2. Cloudflare QuickTunnel

Cloudflareが提供しているトンネル機能です。おそらく一番シンプルに使えるサービス。

利用手順

まずはインストール:

brew install cloudflared

その後、以下のコマンドでトンネルを作成:

cloudflared tunnel --url http://localhost:8080

これで一発OK。ほぼ何も設定しなくても https 経由でアクセスできるのがありがたい!

詳細は公式ドキュメントをチェック。

3. zrok

zrokは一番クセがあるけど、使えると便利なトンネリングツールです。

インストール

Homebrewでもインストールできますが、バージョンの不整合でエラーが出る可能性が高いです
素直に公式サイトからバイナリをダウンロードしましょう。

利用手順

1. アカウントを作成し、ログイン。

2. サイドメニューから zrok を選択。

3. 表示される zrok enable <token> コマンドをコピー。

ターミナルで以下を実行:

zrok enable <your_account_token>
zrok share public 8080

一番手間はかかりますが、しっかり動けば強力。

なぜ調べたのか?

実は、Threads(Facebook系のSNS)の認証を試すために、これらのサービスを使っていました。

Facebook系のOAuthを使うには、httpsでアクセス可能なサーバーが必要
そこで、今回紹介したサービスで一時的にhttps対応させたわけです。

しかし…

FacebookのOAuthは、ngrok・Cloudflare・zrokなど一部サービスからのアクセスを弾くことが判明。。(泣)

結局、ローカルではダメで、独自ドメインを使って本物のサーバーを立てて認証を試すことになりました。

まとめ

サービス名手軽さHTTPS対応備考
ngrok簡単・有名
Cloudflare QuickTunnel一番簡単かも
zrokちょっとクセあり

ちょっと見せたい、確認してもらいたい、そんな時は上記サービスが超便利。
でもあくまで開発・検証用途限定で、本番ではちゃんとしたデプロイ環境を使いましょう!

スポンサーリンク

  • この記事を書いた人
プロフィール画像

かず

バックエンド/フロントエンド/クラウドインフラのフルスタックエンジニア | デジタルノマド(‘23/6〜) で世界放浪中 | 主にプログラミングに役立つ情報を発信 | Xでは旅の様子を発信

-プログラミング
-