SSLサーバー設定したのに警告が表示される問題の解消方法

SSLサーバー設定したのに警告が表示される問題の解消方法
 引用:pixabay
引用:pixabay

SSLサーバー契約をして、いざサイトを見てみると、何故か警告が出てくることはないでしょうか。特にGoogleChromeではわかりやすく「!」などが表示されることがあるようです。

なぜサーバーをSSLにしたのにこのような警告が出るのか。もしかして設定ミスなのか様々な問題がありますが、今回はそのうちの一つの解消法を紹介します。

このサイトへの接続は完全には保護されていません警告

出力される警告はこのようなものです。「このサイトへの接続は完全には保護されていません」

サイトのURLをみるとたしかに「https:」となっているので、間違いなくSSL対応はされているはずですが、一体何が原因なのか。

ソース内にhttp:がある

原因の一つは、ソース内にhttpsではなくhttp の箇所があるという点です。特に画像系がその問題が発生しやすいのですが、直URLで書いていた箇所に関しては当然自動的にhttpsとならないので、http のままとなります。

混合コンテンツは安全性が損なわれる

安全でない HTTP プロトコルを使用してサブリソースをリクエストすると、ページ全体のセキュリティが低下します。これは、このようなリクエストが man-in-the-middle 攻撃に対して脆弱であるためです。この攻撃では、攻撃者がネットワーク接続を盗聴して、2 人の関係者間の通信を表示または変更します。 多くの場合、攻撃者はこれらのリソースを使用することにより、侵害されたリソースだけでなく、ページ全体を制御できるようになります。

出典元:google.com

https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content?hl=ja

上記サイトによると、混合コンテンツはセキュリティが低下します。結果ブラウザ上に警告が出てくるという仕組みです。

単純にURLを書き換えるか、もしくは置換で治しましょう。

対策:リダイレクトを使う

サイト全体が混合コンテンツとなっている場合は、.htaccessなどでリダイレクトなどを使い対策を試みます。

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

要因は様々ですが、警告が出たらとりあえずまずソースを確認することをおすすめします。

SEO関連カテゴリの最新記事