試しにngrokからserveoに乗り換えてみた

技術ネタ

先日のJP_Stripe ConnectのLTで教えていただいたserveoを試しに使ってみました!
サイトが英語オンリーなので使ってみた感想と利用方法を残します♪

スポンサーリンク

SSHを使った簡単接続

serveoは登録もインストールも必要なし❗
sshコマンドだけで気軽に利用可能です(*´▽`*)

sshでlocalhost:8080をserveo.netに接続してURLを発行。
ポート番号はlocalhostで動かしているシステムに応じて変更。

ssh -R 80:localhost:8080 serveo.net

Hi there
Forwarding HTTP traffic from https://xxxxxx.serveo.net
Press g to start a GUI session and ctrl-c to quit.

これで接続完了❗

Forwarding HTTP traffic from https://xxxxxx.serveo.net
このhttps://xxxxxx.serveo.netが発行されたURLなので、ここに接続すればOK❗

サブドメインの固定

ポートの前に指定したいサブドメインをつけるだけ❗

ssh -R local:80:localhost:8080 serveo.net

Hi there
Forwarding HTTP traffic from https://local.serveo.net
Press g to start a GUI session and ctrl-c to quit.

たったこんだけw
ngrokでは有料だったサブドメイン固定があっという間に出来てしまったww

カスタムドメイン設定

カスタムドメインの設定も割と簡単にできます❗

キー作成

まずはssh-keygenでserveo用のキーを作ります。
-f serveoはどちらでもOKです、僕はsshのキーを分けてるので💦

ssh-keygen -f ~/.ssh/serveo
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/hisayuki/.ssh/serveo.
Your public key has been saved in /Users/hisayuki/.ssh/serveo.pub.
fingerprint登録

作成したキーにfingerprintを書き出します。

ssh-keygen -lf ~/.ssh/serveo.pub
2048 SHA256:csUbcWUwL302un5J********************** hisayuki@morihisayuseinoMacBook-Pro.local (RSA)

この場合、fingerprintはSHA256:csUbcWUwL302un5J**********************まで❗

Route53に登録

AWSを使っているので、今回はRoute53への登録をします。
今回使用するDomainはlocaltest.jupiter-fortune.comとして進めます❗

まずはAレコードにserveoのIPの159.89.214.31を登録します。

次に、textレコードにauthkeyfp=([fingerprint]の形式のTXTレコード)を登録します。

あとはSSHで接続
ssh -R localtest.jupiter-fortune.com:80:localhost:8080 -i ~/.ssh/serveo serveo.net
Hi there
Press g to start a GUI session and ctrl-c to quit.
Forwarding HTTP traffic from https://localtest.jupiter-fortune.com

これでカスタムドメインでの接続も出来ます❗

ただまぁWebhookのテストとかでドメイン固定したいだけならここまでしなくてもいいかなって感じはする。

ngrokに比べたメリット

インストールするものがない!

とりあえずsshが出来れば誰でも取り入れれますw

URLが変わらない!!

これが一番メリットだと思ってるw
ローカルでフロントからAPI叩くテストや、Webhookテストなどでは最適ですね❗

ngrokに比べたデメリット

ちょくちょく接続が切れてる

長時間放置してたりすると接続が切れてたりする。
これが結構な頻度で切れてるので、autosshを取り入れるのはありかなと。

Automatically reconnect


Use autossh for more persistent tunnels. Use “-M 0” to disable autossh’s connectivity checking (rely on ServerAliveInterval and ServerAliveCountMax instead):
autossh -M 0 -R 80:localhost:8888 serveo.net

こんな感じで公式にも取り入れ方書いてあります。

インスペクタがない

個人的には欲しい機能・・・
出入りのJSONチェックがしたいときはおとなしくngrok等のインスペクタがあるのを使ったほうがよいかなと。

まとめ

さらっとですが使った感想書いてみました❗
無料で手軽さを考えたらかなり優良なサービスです!

Serveo gets better all the time. Leave your email address or follow me on Twitter to get notified of improvements. (Expect about one or two emails per month.)

まだまだ進化し続けるとの記載もあるので、今後のバージョンアップに期待します❗


コメント