しおメモ

雑多な技術系ブログです。ニッチな内容が多いです。

Cloudflareへのドメイン移管時のSSLエラーの解消例

ブログのドメインのトランスファーを実施した際にSSLエラーが出たため、対処方法の一例を残しておきます。
Cloudflareビキナーです。

発生した現象

自分の場合は、対象ドメインのトランスファー完了後にChromeでアクセスした際に、ERR_SSL_VERSION_OR_CIPHER_MISMATCHというエラーが表示されました。

Safariなど別のブラウザでも同様の表示になっています。

Proxied DNS recordsの設定

CNAMEレコードをはてなブログ用に設定しているのですが、digを叩いてみると、Aレコードだけが表示されています。

dig +noall +ans www.volatile-void.com
www.volatile-void.com.  247    IN  A   104.21.93.160
www.volatile-void.com.  247    IN  A   172.67.212.17

調べてみると、こちらはCloudflareのサーバーのIPのようで、デフォルトで有効なProxied DNS recordsという機能の影響のようです。
DNSレコードを確認すると、確かにプロキシ機能が有効になってみました。

developers.cloudflare.com

試しにプロキシ機能をオフにしてみます。(灰色の雲の部分です)

dig +noall +ans www.volatile-void.com 
www.volatile-void.com.  68 IN  CNAME   hatenablog.com.
hatenablog.com.     28 IN  A   54.199.90.60
hatenablog.com.     28 IN  A   35.75.255.9

Cloudflareのサーバーを介さなくなったため、CNAMEレコードが表示され、Aレコードもはてなのものを指すようになりました。
ブラウザからアクセスしても、SSLエラーが出なくなります。

SSL/TLS encryption modeの設定

では、SSLエラーの直接の原因は何かというと、プロキシ機能有効時にSSL/TLSの暗号化モードを自動で設定する、もう一つのCloudflareの機能によるものでした。

developers.cloudflare.com

こちらはブラウザ-Cloudflare-オリジンサーバー間の暗号化モードを自動で判断して設定する機能ですが、オリジンサーバーがはてなの場合はFlexibleとなってしまい、 Cloudflareからはてなサーバーへの通信がHTTPとなってしまっていました。

例えば、暗号化モードをFull (strict)に手動で変更することで、ここの通信がHTTPSで行われるようになり、プロキシ機能を有効にしたまま、SSLエラーを解消することができます。

結局どうする

プロキシ機能を有効にしておくことで、恩恵がありそうではあるものの、SEO影響が読めなかったため、一旦プロキシオフのDNS onlyの利用にすることにしました。

しばらくして安定したタイミングで、プロキシありで運用してみて、メリットデメリットを比較してみたいと思います。