serveoがngrokと同じくらい便利

便利技

この記事では、serveoというサービスを紹介します。serveoとは何かと言うとローカル環境で開発しているアプリケーションをインターネットからアクセスできるようにするサービスです。Windows上にHTTPSアクセスできる環境を作るのはとても大変です。

昔はWEBサーバーを導入してからの、SSHを導入してアクセスできるようになるものでした。つい最近では、ngrokというものを知って使っていました。今回紹介するserveoは、ngrokと比べると初期準備が簡単です。

ngrokは便利!
この記事ではngrok(エングロック)について書きます。このngrokを初めて知ったのは、GoogleHomeの勉強会に参加したときです。ngrokは、localにhttp/httpsサーバを簡単に立てて、インターネットからアクセスできるようにできるものです。例えばスマホやクラウドからGoogleHomeを操作できるようになるというものでした。

ngrokの場合は、ファイルをダウンロードして、auth tokenというAPIキーみたいなものを取得して、ngrokの設定を実施して初めてWindows上にHTTPアクセスできるようになります。

それに比べてserveoの場合は、sshコマンドが使えれば、インストール不要でコマンド一発でWindows上にHTTPアクセスできる環境を作ることができます。

さっそく私が試した手順を書いていきます。

SSHコマンドの準備

Windowsには、SSHコマンドが標準でついていません。普通にSSHとコマンドプロンプトに入力すると、次のような画面になります。

https://github.com/PowerShell/Win32-OpenSSH/releasesからOpenSSHをダウンロードします。OSのビット数(32bit または 64bit)に合わせたソフトウェアを選択しましょう。必要であれば、環境変数を貼ってください。SSHと入力すると、SSHが実行できるようになります。

SERVEOの起動

これで、SERVEOを使う準備が完了しました。SERVEOを次のコマンドで起動します。

ssh -R 80:localhost:3000 serveo.net

これで、ローカルにHTTPSアクセスできる環境が出来上がりました!実際に試してみましょう。

ローカル環境にHTTPアクセステスト

Node.JSで簡易サーバを構築します。まずはじめに、サンプル通りのindex.jsを準備。

var http = require('http');
const PORT=3000;

function handleRequest(request, response){
  response.end('serveo Hello World! - requestURL = ' + request.url);
}
var server = http.createServer(handleRequest);

server.listen(PORT, function(){
  console.log("Server listening on: http://localhost:%s", PORT);
});

テスト用なので、デスクトップあたりに保存をして次のコマンドを打ちます。

node index.js

ブラウザからアクセスをしてみましょう。

localhostに接続
httpアクセス

いい感じですね。Serveoのサイトをみると、もう少し機能がありそうです。

serveoはChromeBookでも使える

serveoがSSHコマンドだけで使えるので、Chromebook上でも動作する確認をしてみました。結論から書くと、使えます!ngrokはChromeBookでは使えなかったので、収穫ですね。ngrokは先駆者が質問を上げていますね。

ChromeBookでserveoを使う前準備として、開発者モードにする必要があります。やり方は、以前まとめたものがあるので、次を参照。

開発者モードとして起動できたら、次のコマンドを実行します。

%> shell
%> ssh -R 80:localhost:3000 serveo.net

起動できてますね。

コメント

タイトルとURLをコピーしました