XサーバーにSSL導入

Pocket

とりあえず一つSSLを導入しました。

Xサーバーのマニュアル通りにやればほぼ問題ないのですが、いくつか躓きポイントがあったのでそのポイントだけ。

マニュアル
SSL料金表

1、wwwなしにもSSL適用するのならDNSレコードの設定が必要

コモンネームをwww.AAAAA.comで登録した場合wwwありでもなしでもSSLに対応出来るのですが、デフォルトでは「あり」だけSSLになる設定なので、「なし」に適用するにはDNSレコードを設定する必要があります。

デフォルト ○ https://www.AAAA.com × https://AAAA.com
設定すると ○ https://www.AAAA.com ○ https://AAAA.com

これは一見どうでも良さそうですがwwwのありなしをhtaccessで統一している場合に不具合が出ます。

具体的にはデフォルトの状態で

www.AAAAA.com→https://www.AAAA.com
http://www.AAAAA.com→https://www.AAAA.com
AAAAA.com→https://www.AAAA.com
と順調にリダイレクトされたのですが

https://AAAAA.com→エラー
となりました。

これは(おそらく)デフォルトのままだとhtaccessでリダイレクトされる前にhttpsのエラーが出てしまうものと思われます。

DNSレコードを設定することで解決出来ました。

ちなみにhtaccessはこんな感じ

RewriteEngine on
RewriteCond %{HTTP_HOST} ^AAAA\.com
RewriteRule ^(.*)$ https://www.AAAA.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

他にも何通りかやり方があるみたいです。

2、ISPでDNSがキャッシュされる

上記デフォルトの状態でエラーが出たあとDNSレコードを更新してもエラーが直らない状態が続きました。

最初は変更が反映されるのに時間がかかるのが原因と思っていたあのですが、いつまでたっても直らない。

ブラウザを変えても別のPCでアクセスしてもだめ。

で、スマホでテザリングしてアクセスしたら正常に表示されました。

これはどうやら一度アクセスした時点でISPがDNS情報をキャッシュするのが原因みたいです。

つまりデフォルト設定でアクセスしてエラーが出た時点でISPはそのIPアドレスをキャッシュしているため、DNSレコードを更新しても一定時間たたないとISPには変更が反映されないということだと思われます。

回避するには予めDNSレコードを正しく設定した上でサイトへのアクセスを開始すればOKだと思われます。

これまでこういうケースってブラウザのキャッシュが原因の場合が多かったので、なかなか気付くことが出来ませんでした。

SSLを適用するには専用のIPアドレスを使うためこういうことが起きるようです。

DNSサービスの仕組みについて

3、メタリファラーの設定は必須だけどまだ一部のブラウザだけ

この部分の説明はnanapiさんに丸投げw

SSLがSEOに効くようになるのでmeta referrerのブラウザ対応状況を調べた

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。