wwwなしのサイトでサイトシールが表示できない問題の解決方法
サイトシール付きの有料独自SSLを導入した場合に、wwwなしのURLを選択したサイトでは、サイトシールを表示できないという問題が起きることがあります。
このページでは、サイトシールを表示できない原因と、その解決方法を紹介します。
サイトシールが表示できない原因
SSLサーバー証明書には、1枚の証明書でwwwのあり/なしどちらのURLでもSSL化できるようにする「SANs」や「2Way」という機能があります。
セキュリティ的にwwwあり/なし両方のURLをSSL化しなくてはいけないので、通常はこの「SANs」や「2Way」を利用して、下記のように両方のURLをSSL化します。
- https://www.example.com
- https://example.com
しかし、SSLサーバー証明書によっては、wwwありのコモンネーム(ホスト名やドメイン名を省略せずに記述したもの)でSSLサーバー証明書を取得しないと、wwwあり/なし両方をSSL化できない場合があります。
- SSLサーバー証明書を「www.example.com」で取得した場合
-
- www.example.com:SSL化できる
- example.com:SSL化できる
- SSLサーバー証明書を「example.com」で取得した場合
-
- www.example.com:SSL化できない
- example.com:SSL化できる
なので、wwwなしのURLでサイトを運営する場合でも、wwwありのコモンネームでSSLサーバー証明書を取得するというのが一般的になっています。
しかし、ここでサイトシールの問題が出てきます。
多くのSSLサーバー証明書では、証明書を取得したコモンネームのみをサイトシールの対象とするため、wwwなしでサイトを運営する場合はサイトシールが表示できません。
- SSLサーバー証明書を「www.example.com」で取得した場合
-
- www.example.com:SSL化できて、サイトシールも表示できる
- example.com:SSL化できるが、サイトシールは表示できない
問題の解決方法
wwwあり/なしの両方をSSL化しつつ、wwwなしのサイトにサイトシールを表示させるには、wwwあり/なしの両方で1枚ずつSSLサーバー証明書を取得する必要があります。
しかし、これでは2枚分の料金がかかってしまうので、余計なコストを抑えたい場合は、無料のSSLサーバー証明書を併用するという方法があります。
この方法は、「Let's Encrypt」などの無料SSLサーバー証明書を利用できるレンタルサーバーでのみ可能です。
併用する方法は簡単で、wwwありで無料SSLサーバー証明書を取得し、wwwなしでサイトシール付きの有料SSLサーバー証明書を取得するだけです。
- 無料SSLサーバー証明書を「www.example.com」で取得する
-
- www.example.com:SSL化できる(サイトシールなし)
- 有料SSLサーバー証明書を「example.com」で取得する
-
- example.com:SSL化できて、サイトシールも表示できる
これで、wwwなしのURLでもサイトシールが表示されるようになりました。
SSLサーバー証明書を2枚持ちしても問題ないのか
ひとつ心配なのが、SSLサーバー証明書を2枚持ちしている状態は問題ないのかということです。
かなり専門的なことであるため、SSLサーバー証明書を提供しているレンタルサーバーに、以下の問い合わせをしてみました。
「同一ブランドでも異なるブランドでも、SSLサーバー証明書を2枚持ちしている状態は、通信面・セキュリティ面において問題ないのでしょうか?」
返答としては、どのSSLサーバー証明書でも暗号化の強度に差異はないため、特に問題ないとのことでした。
また、前述のサイトシールを表示させる方法についても、その方法で利用可能と返答がもらえました。
まとめ
すでにwwwなしのURLで運営しているサイトでも、この方法でサイトシールを表示できるようになったと思います。
ただし、wwwありからwwwなしへのリダイレクト(URL正規化)は、忘れず設定するようにしてください。