しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

ngrok を使って Raspberry Pi 2 で実行している Web アプリケーションを外部に公開する

Raspberry Pi 2 で ASP.NET 5 アプリケーションを動かして遊んでのですが、これをインターネットからでも見れるように出来ないかと思ったので、以前 Webhook のデバッグ時に使った ngrok で試してみました。

しっかりと ARM な Linux 用のバイナリが公開されているので、ダウンロードするだけで使えるようになっていました。これはとてもありがたい。

f:id:shiba-yan:20150214173122p:plain

とまあ、このバイナリをダウンロードして実行すれば終わりなんですが、基本的に SSH で Raspberry Pi 2 に繋いで操作しているので、Kestrel と ngrok を同時に動かすためにベタですが screen を使いました。

まずは k kestrel で Web サーバーを立ち上げておきます。

f:id:shiba-yan:20150214171216p:plain

これで localhost:5004 にアクセスするとページが表示されるようになったので、新しいコンソールを立ち上げて ngrok にポート番号を与えて実行します。

f:id:shiba-yan:20150214173527p:plain

表示されている URL にアクセスすると Raspberry Pi 2 上で動いている ASP.NET 5 アプリケーションが表示されます。思ったより速いので少し驚きました。

f:id:shiba-yan:20150214171019p:plain

これだけだと面白くないと思ったので、何となく nginx を Raspberry Pi 2 にインストールしてみました。

例によって apt-get でインストールされるバージョンはとても古かったので、以下の記事を参考にして最新版のソースからビルドしてインストールします。

ビルドには少し時間がかかりますが、あっさりと成功したので同じように ngrok を使って公開してみました。

f:id:shiba-yan:20150214182230p:plain

お遊び用の環境としても使い勝手が良さそうです。

やっぱりネットワークには常に繋いでおかないと面白みが半減しそうですね。今は有線 LAN で繋いでいるのですが、とてもめんどくさいので USB の無線 LAN ドングルを注文しました。

とても安いですし、レビューで動作報告が上がっていたので選びました。明日届きます。