Help us understand the problem. What is going on with this article?

ngrok大好きな私がServeoで感動した話

追記(2020/01/03)

コメントで教えていただいたのですが、2020年1月3日現在一時的にサービスダウンしているようです。
同じようなサービスlocalhost.runを使ってみたので、よろしければ。

はじめに

自分用のメモみたいなものなので、言いたいことしか書かれてないです。

まずngrokとは

ngrokってご存知ですか?
ローカル上で開発してるサーバーやネットワークサービスをそのまま外部に公開できるサービスで、herokuのサーバーに上げない版みたいなやつです。
localhost にドメインを振り分けてくれるイメージですかね。

使い方

インストールが必要です。

$ brew cask install ngrok

使い方も簡単で、

$ ngrok http <localhostのポート番号>
ngrok by @inconshreveable     (Ctrl+C to quit)    

Session Status                online                                              
Account                       hogehoge (Plan: Free)
Version                       2.3.29
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://<ランダムな文字列>.ngrok.io -> http://localhost:2300

Forwardingの横に書かれている http://<ランダムな文字列>.ngrok.io が公開アドレスになってます。

メリット

  • LINE Botをはじめ、実際に動いているサーバーに繋がないと試せないようなプロダクトを作っているときに、開発しながら試せるのがとても便利
  • ローカルでの変更が即座に反映される(アップロードの必要がない)
  • アクセスログが見やすい

デメリット(?)

  • アカウント登録しないと時間制限がある模様(よく調べてない)
  • 無料アカウントだとドメイン指定ができないため、再起動するたびにアドレスが変わる
  • 有料アカウントにすれば固定できるけど、中々お高め……

Serveoが神だった

ngrokのドメイン固定したいな。でも有料アカウントちょっとお高いな。
そんな時に見つけたのが、Serveoというサービスです。感動しました

使い方

サブドメイン指定なし
$ ssh -R 80:localhost:<ポート番号> serveo.net
サブドメイン指定
$ ssh -R <指定したいサブドメイン>:80:localhost:<ポート番号> serveo.net
Forwarding HTTP traffic from https://<指定したサブドメイン>.serveo.net

たったこれだけ。https://<指定したサブドメイン>.serveo.net でアクセスできる。

メリット

  • インストールもアカウント登録も必要ない
  • サブドメイン指定できる
  • タイムアウト時間を指定できる
  • なんか色々できる(端折った)

デメリット

(セキュリティ面がちょっと気になる……)

追記(2019/06/26)

起動した直後は好調なんですが、10分20分と経つとコネクションが切れてしまい、長期的な用途では使い物にならなかったです……。
~/.ssh/configを書き換えたり、 autosshを使ってみたりもしたのですが、ちゃんと動いてるの?といった挙動。
結局ngrokに戻ってしまいました。解決策ある方教えてください……。

まとめ

最近LINE Botの開発をちょくちょくやっているので、ngrokはとても便利でした。
ただ、再起動するたびに値が変わるので、わざわざLINE Developerページに行って変更して……というのがとても不便。
そんな中で出会ったServeoは、とても魅力的に感じました。

sskmy1024y
Webフロントを中心に、いろいろ手をつけている大学生です。猫と旅行が大好き
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away