もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

ngrokでポートが同じな複数のローカル環境を公開する

はじめに

こんばんは。

今回はめっちゃかんたんな ngrok の備忘録です。

本題

ローカルで dockerを使って複数のwebサービスを開発するさいに、よくあるのは、 ポートで振り分けたりするとおもいます。

ポートで振り分けている場合は、 ngrok http 5260ngrok http 5261 などで公開できると思います。

ただ、例えば以下のような場合、

admin => http://admin.kojirock.local:5260
toC   => http://kojirock.local:5260
toB   => http://business.kojirock.local:5260

ローカル用の ServerNameをつけつつ、かつ、80番ポート以外のポートも指定している場合、ちょっと工夫が必要でした。

答えとしては以下

[admin]
$ ngrok http -host-header=rewrite admin.kojirock.local:5260

[toC]
$ ngrok http -host-header=rewrite kojirock.local:5260

[toB]
$ ngrok http -host-header=rewrite business.kojirock.local:5260

ngrokのドキュメントの Rewriting the Host header にも記載がありました。

ngrok.com

Hostヘッダーを admin.kojirock.local とか kojirock.local に書き換えることで、該当のローカルの環境を公開できるようになりました。

終わりに

ngrok未だに便利で使用してるんですが、他の代替品ないかなーと調べたら結構ありました。

以前ブログで書いた Blimp もその仲間ですね。

kojirooooocks.hatenablog.com

ほかのやつも、ちかいうちに調べてみようと思います。