(一部で?)話題の serveo サービスを使ってみました。
serveo は http://localhost:XXXX で稼働するウェブサービスを https の固定URLで公開するサービスです。加えて無料で、しかも(ssh が導入済みであれば)ツール類のインストールは不要です。なお以下の作業は Windows 10 の WSL(Ubuntu 18.04) 環境を使って行いました。macOS や Linux, Raspberry Pi などを使う場合でも同様のはずです。
どのように使うかを以下で紹介しますが、今回は例としてこのウェブアプリケーションをネット公開してみることにします:
https://github.com/dotnsf/keytouch_sample
「キーボードから入力されたキーをそのまま画面に表示する」という Node.js のウェブアプリケーションです。Node.js が導入されていればローカル環境で稼働させることができます。
実際に動かすには上記リポジトリからコード一式を git clone またはダウンロード&展開して、npm install して app.js を実行します(緑字は出力されるメッセージです):
実行すると空きポートを見つけてリクエストを待受ける状態になります。上記例では 6022 番ポートで稼働しています。
このアプリケーションを使うには、ウェブブラウザで http://localhost:6022/ へアクセスします(6022 の部分は実際に稼働しているポート番号を指定してください):
↑キーボードを適当に叩いて入力すると、叩いたキー文字が画面に表示される、というだけのアプリケーションです(英文字や数字は正しく表示されると思いますが、一部の記号には対応していません)。
では、この localhost で稼働中のアプリケーションを serveo を使って公開してみます。別のターミナルを開いて、以下のコマンドを入力します(6022 の部分は実際に稼働しているポート番号を指定します):
実はたったこれだけです。上記例では https://ledo.serveo.net にフォワードされる、というメッセージが出力されています。実際にウェブブラウザで(可能であれば別のマシンのウェブブラウザで)指定された URL にアクセスしてみると、実際に稼働していることが確認できます:
こんな簡単に、しかも https の固定 URL でウェブサービス公開ができてしまいました。驚き!
ちなみに、このサービス自体は SSH のフォワーディング機能だけで実現しているようで、上記コマンドの "localhost" はローカルホストでなくても構いません。なので(ホスト名が変わることが問題にならなければ)http で動いているサービスを簡単に https 対応させることもできそうです。
その他、コマンドのオプション等は公式ページに詳しく紹介されているので参照ください。いやそれにしても便利なサービスだ。自分で作ったアプリがここまで簡単にウェブ公開できるとは・・
serveo は http://localhost:XXXX で稼働するウェブサービスを https の固定URLで公開するサービスです。加えて無料で、しかも(ssh が導入済みであれば)ツール類のインストールは不要です。なお以下の作業は Windows 10 の WSL(Ubuntu 18.04) 環境を使って行いました。macOS や Linux, Raspberry Pi などを使う場合でも同様のはずです。
どのように使うかを以下で紹介しますが、今回は例としてこのウェブアプリケーションをネット公開してみることにします:
https://github.com/dotnsf/keytouch_sample
「キーボードから入力されたキーをそのまま画面に表示する」という Node.js のウェブアプリケーションです。Node.js が導入されていればローカル環境で稼働させることができます。
実際に動かすには上記リポジトリからコード一式を git clone またはダウンロード&展開して、npm install して app.js を実行します(緑字は出力されるメッセージです):
$ git clone https://github.com/dotnsf/keytouch_sample
$ cd keytouch_sample
$ npm install
$ node app
server starting on 6022 ..
実行すると空きポートを見つけてリクエストを待受ける状態になります。上記例では 6022 番ポートで稼働しています。
このアプリケーションを使うには、ウェブブラウザで http://localhost:6022/ へアクセスします(6022 の部分は実際に稼働しているポート番号を指定してください):
↑キーボードを適当に叩いて入力すると、叩いたキー文字が画面に表示される、というだけのアプリケーションです(英文字や数字は正しく表示されると思いますが、一部の記号には対応していません)。
では、この localhost で稼働中のアプリケーションを serveo を使って公開してみます。別のターミナルを開いて、以下のコマンドを入力します(6022 の部分は実際に稼働しているポート番号を指定します):
$ ssh -R 80:localhost:6022 serveo.net
Forwarding HTTP traffic from https://ledo.serveo.net
Press g to start a GUI session and ctrl-c to quit.
実はたったこれだけです。上記例では https://ledo.serveo.net にフォワードされる、というメッセージが出力されています。実際にウェブブラウザで(可能であれば別のマシンのウェブブラウザで)指定された URL にアクセスしてみると、実際に稼働していることが確認できます:
こんな簡単に、しかも https の固定 URL でウェブサービス公開ができてしまいました。驚き!
ちなみに、このサービス自体は SSH のフォワーディング機能だけで実現しているようで、上記コマンドの "localhost" はローカルホストでなくても構いません。なので(ホスト名が変わることが問題にならなければ)http で動いているサービスを簡単に https 対応させることもできそうです。
その他、コマンドのオプション等は公式ページに詳しく紹介されているので参照ください。いやそれにしても便利なサービスだ。自分で作ったアプリがここまで簡単にウェブ公開できるとは・・
コメント
コメント一覧 (2)
ただ
ご存知かもしれませんが、最終アクセスから20分かそこらでホスティングが無効化されてしまうので、既存のサービスをhttps化するには不向きでしょうね。
あくまでlocalだけで動くサービスのデモをプレゼンで紹介するとか、モバイル向けのサイトをいちいちサーバにデプロイせず確認したいとか、限定的な場面に用途が限られそうです。
とはいえ、serveoイケてますよね。マジで感動しました。
私自身は localhost で動くアプリのスマホ対応状態を確認する際に、localhost のままだと実機からアクセスできないことが多いのですが、これを serveo で公開して実機動作確認できる、というが超便利で活用しています。