akuyan to

イベント/旅行/デザイン/おいしいもの...

Cloudflareで、はてなブログの独自ドメインをルートドメインからサブドメインにリダイレクト

つい先日Cloudflareでネームサーバの変更がうまくいったことに安堵していたのもつかの間、はてなブログから独自ドメインが解除されてしまうエラーに見舞われて必死で調べてなおしたので、今後の自分のためにメモしておきたい。


●目次

【問題発覚】http://akuyan.to にアクセスできなくなる

16日の明け方に夢見が悪く目が覚めてしまい、なんとなくふとんの中で自分のブログを開いてみたら独自ドメインが機能していなかった。

いやまじか。


スマホではわけがわからないのでPCを立ち上げ確認してみると、独自ドメインの設定に「エラー」が表示されている。なぜだ。

f:id:akuyan:20190917135609p:plain
「レコードが確認できません」と表示されてしまった。

DNS設定変更から日にちが経過しているし、それが原因ということはないだろう。ないとおもいたい。Googleアナリティクスを確認してもつい数時間前まで問題なくアクセスがあったことが確認できた。


特にサーバサイドの知識に長けているわけではないので、この時点でかなりきもち的にお手上げだったが、ここで1つ気づいたことがあった。



ページが保護されている。
SSLになっている。



はてなブログは段階的にhttpからhttpsに移行されていくという話はもちろん知っていた。移行されるのもまったくかまわない。
しかしもしかするとこれは移行したタイミングでDNS設定がうまく作動しなくなったのではないか。


というのも、もともとはてなブログはルートドメインでの独自ドメインを推奨していない。
その理由はCNAMEでしか独自ドメインを設定できないからだ。
これまでむりくりルートドメイン(wwwなどドメインの前に何もついてないもの)で独自ドメインを設定してきたが、その設定がSSL対応されたことで破綻したのかもしれない。これはきっとたぶんはてな側へ問い合わせても解決しないだろう。


さてどうしたものか......。



【対応策】https://www.akuyan.to に設定して301リダイレクトをかける

その後も様々な方法でなんとかルートドメインで設定できないかと粘ってみたが、どうにもこうにもうまくいかなかった。
ここは致し方ないのでこの機会にサブドメイン(www)に変更してしまおうと潔く決めた。


CloudflareでwwwのCNAMEレコードを追加して、しばらくまってはてなブログに反映。
Googleサーチコンソールやらアナリティクスも設定をもろもろすませた。


ちなみに、現在サーチコンソールでは「アドレスの変更」申請がまだ実装されていなかった。
(2019年3月末に旧バージョンのサーチコンソールが使えなくなってる)
これはこれで困るのでGoogleさんがんばってほしい......。
新バージョンではドメイン全体でサーチコンソールが導入できるので、とりあえずそれを入れて様子見している。



閑話休題。
一通り新しいサブドメインの設定を整えて、あとはリダイレクト処理だ。
CloudflareのPage rulesからリダイレクトするための設定を追加する。無料プランでも3つまで追加できるのがありがたい。



設定したいリダイレクトは、ブログのトップページと各記事コンテンツだ。


ルールの追加画面に、元々のアドレスを入力し「Forwarding URL」を選択。
今回は永続的にページの価値を引き継ぎたいので301リダイレクトに。
最後にリダイレクトしたい先のアドレスを入力して転送設定完了。

f:id:akuyan:20190917135700p:plain
*→$1がセット。2つ目の*は$2と表記する

と、なるはずだったがなぜかまったくリダイレクトされない......。



【必須条件】リダイレクトする元はプロキシ経由でレコード追加

結果、このリダイレクトされない原因はもともとのルートドメイン(akuyan.to)をプロキシ経由ではなくDNS onlyにしていたことだった。
CloudflareのDNS設定から、対象のStatusをDNS only(グレークラウド)からProxied(オレンジクラウド)に変更すると問題なく動いた。


はてなブログに独自ドメインを設定するためにはCNAMEにしなければならなかったのでDNS onlyにしていたのがアダになってたようだ。

f:id:akuyan:20190917153634p:plain
Aレコードでルートドメインを追加してプロキシ経由に

最初設定の仕方が悪いのかと色々調べてみたり、そもそもはてなブログだともしかするとうまく動かないのでは?という懸念があったりとかなりの試行錯誤をした。固定IPとってリダイレクトとかさせてみようかとおもったけど価格がまぁまぁするし、他の方法もうまくいかないし、あまりのできなさにちょっとめげた。


結局はCloudflareですんなりシンプルに設定できて一安心だ。


とはいえ何か見落としてる可能性もなくはないので引き続き注意深く様子をみていきたい。


関連記事