開発時にlocalhostの管理は煩雑になる問題
railsの開発時や、最近ではReactJsでの開発時などでも開発用サーバーを立ち上げて開発することが多くなりました。そのたびにlocalhost:8080や、localhost:4200、localhost:3000...もうどれがどれだかわかりません!
そんな悩みを解決するのが、puma-dev です。
Puma-dev
ざっくりとしたイメージとしては、***.dev
といったURLを作成し、httpまたはhttpsにて任意のホストへプロキシしてくれるようなものです。よくIoT開発で使われるbeebotteやngrokとは違い外部へpublishするものではありません。
インストール
macであればbrewでかんたんにインストールできます
brew install puma/puma/puma-dev
puma-devの実行
puma-dev -install
これだけです。これによって、ポート80と443が開きます。もちろん、すでに80や443が開いている場合は止めておいてください。
puma-devの停止
puma-dev -stop
止めたくなったら -stop をつけて停止させます。
証明書のインストール
SSLでの接続を行う場合は、証明書をインストールする必要があります。
open /Users/<UserName>/Library/Application\ Support/io.puma.dev/cert.pem
証明書をインストールしようとすると確認画面が表示されるので、必ず ログインではなくシステム(重要) にインストールしてください。その後、再起動させます。
***.dev
を作る
IPが異なる場合
echo 192.168.1.2:8080 > ~/.puma-dev/hoge
--> http://hoge.dev と https://hoge.dev に即時アクセスできる
IPがlocalhostの場合
echo 127.0.0.1:8080 > ~/.puma-dev/hoge
--> http://hoge.dev と https://hoge.dev に即時アクセスできる
トラブルシュート
- SSL証明書エラーがでる
- 再起動していない
- 証明書がシステムにインストールされていない
- 証明書が「常に信頼」になっていない
- ブラウザを再起動させたのに表示されない
- マシン本体を再起動していない
- puma-devがインストールできない
- 他のプロセスで80や443が使われている(sudo lsof -i:80, sudo lsof -i:443 で確認)
- brewがないと言われる