【常時SSL】https化したはずのページがIE11、Edge、Firefoxで証明書エラー!?

それはかつて無し&無しのサイトだった

たとえば、こんなURLのサイトを http://****.jp (s無し&www無し=無し&無し

https化してこんなURLにしたとしましょう https://www.****.jp(s有り&www有り=有り&有り

そして、httpからhttpsへのリダイレクト設定(301リダイレクトがいいでしょう)をして、さあ無事にhttps化は完了!?

無し&無しでインデックスされていた検索エンジン、クリックすると証明書エラー?

このサイト、検索エンジンで見るとまだ http://****.jp にリンクがはられていました。

まあでも、リダイレクト設定してありますからいいですよね……?!?!

 

IE11

このサイトは安全ではありません

 

Edge

このサイトは安全ではありません

Firefox

安全な接続ではありません

 

有り&無し

ええっ!?と思ってアドレスバーを見ると

有り&有り

気を取り直してこちらにアクセスすれば、問題なく開けます。

 

リダイレクト設定不足で有り&有りへのリダイレクトが効いていなかった

もともと設定してあったのは下記。

https出ない場合はhttpsを開くようにという設定。

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

 

これでは実はwwwなしにアクセスしても勝手にwwwはつきません。
が、Wordpressのサイトだったことも手伝って、Chromeではこれで問題なく動いていたように見えていました。
※wwwなしへのアクセスをWordpressがwwwありに飛ばしてくれていた。

でも、エラーが出たブラウザでは、https://****.jp にアクセスしたタイミングでWordpressの力に出会う前に証明書エラーでブロック!!

そこで、一気にwwwつきの有り&有りへのリダイレクトが必要です。

修正版リダイレクト設定

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

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

 

無し&無しからは有り&有りへのリダイレクトが動作するようになった

検索エンジンにインデックスされた http://****.jp このリンクからは無事に、https://www.****.jpに移動できるようになり、一件落着。

でも、実は https://****.jp なんてURLに直接アクセスしようとしたなら、それは証明書エラーのままなのです。(Chrome以外で)

トラブルを防止するためには、https化の際に

  • www有り無しをなるべく今までの使用方法から反転させない
  • ちゃんと301リダイレクトの設定にwwwの有無の設定を入れる

ということが必要になりそうですね。