※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などに変更する] (https://qiita.com/cyborg__ninja/items/46f6e4d3674ef572d6bd)
ダイジェスト
- 多分僕しかこういう事象に遭遇してないと思う
- 再起動したら死ぬ
- 再インストールしたら直る
環境
- 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もアップデート対応をした。
で、この辺りで自分の環境は起動時に動かす設定などが飛んだ?のか上手く動作したりしなかったりをするようになった(と思う)。
正直なところ原因は不明。調べるのも億劫で調べていない。
解決方法
再インストールするのがいいらしい。
$ 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を再起動したときに、また同じトラブルにあったときに解決できるように。