Edited at

Pow(powder) + Ruby on Rails の環境でPC再起動したら .devが開かなくて詰んだ件(解決済み)

More than 1 year has passed since last update.


※2017/12/13追記。

Chrome(ブラウザ)がVer.63系になると、.devにはHTTPSが必須となります。しかも強制アップデートで。

HSTS (HTTP Strict Transport Security) ってやつ。簡単に言うとHTTPS必須にするよーの話。

この強制的にHTTPSにするよの対象に「.dev」ドメインが巻き込まれましたので、Powなどで.devにしてると色々問題出るよという。

例えばHTTPSで来たものを強制的にHTTPへとかroutesなどでやってると、永遠にループして帰ってこないw

※pumaを入れ直そう => puma & puma-dev で利用中の.devを.testなどに変更する



ダイジェスト


  • 多分僕しかこういう事象に遭遇してないと思う

  • 再起動したら死ぬ

  • 再インストールしたら直る


環境


  • Ruby on Rails

  • Mac OS X

  • Pow(powder)


何が困ったのか


  • hogehoge.devにアクセスしたら ERR_CONNECTION_REFUSED

    -> DNS解決できてないの?ローカルアドレスなのに?


  • apacheを動かしたら、白い画面に高らかに「It works!」と言われて涙を流す

    -> スタティックな返事は要らぬ。Rails動かしてください(泣

    -> development.log とコマンドを打って見ても当たり前にログなんて流れない


これがOSxアップデートしたあとの再起動とかで、さくっと発生する。


再現方法

PCを再起動する。

powderが動作しない。hogehoge.dev は It works だぜ!


(多分の)原因

powのインストールを古い時代のOSx(たしかsnow leopardぐらいからLionぐらい)に入れて、

アップデート、アップデートを繰り返してきていてyosemiteの時に大きくpf(personal firewall)関係の修正が入ったため、powもアップデート対応をした。

で、この辺りで自分の環境は起動時に動かす設定などが飛んだ?のか上手く動作したりしなかったりをするようになった(と思う)。

正直なところ原因は不明。調べるのも億劫で調べていない。


解決方法

参考:Running Pow with Apache

再インストールするのがいいらしい。

$ curl get.pow.cx/uninstall.sh | sh

$ echo 'export POW_DST_PORT=88' >> ~/.powconfig
$ sudo curl -L https://gist.githubusercontent.com/soupmatt/1058580/raw/zzz_pow.conf -o /private/etc/apache2/other/zzz_pow.conf
$ sudo apachectl restart
$ curl get.pow.cx | sh

単純に上から順にコマンドばしばしと。

インストール完了後に www.hogehoge.dev にアクセスしたら稼働した。


まとめ

僕だけの固有事例っぽいけど、もし同じ環境下で同じような事例があったら見てもらえればと。

 &

未来の僕がPCを再起動したときに、また同じトラブルにあったときに解決できるように。