常時SSLなのにアドレスバーに三角のビックリマーク!原因と解決方法
契約サーバーサイドから独自SSLを追加、常時SSL化設定を行い「https」化に設定したのにPCやスマホでサイトを開いたときに、アドレスバーに三角のビックリマークが表示されることがあります。
これは基本的に「http」のコンテンツが紛れ込んでいることが原因で、Mixed Content(ミックスコンテンツあるいは混合コンテンツ)と呼ばれています。
この記事ではミックスコンテンツの解消法について解説していきたいと思います。
目次(読みたい所をクリック!!)
Mixed Content(ミックスコンテンツ、混合コンテンツ)とは
SSL暗号化は、ウェブサイトとウェブブラウザの間で行われるセキュリティの仕組みです。
この仕組みにより、あなたがウェブサイトを訪れるときにやりとりされる情報が他の人に見られたり改ざんされたりしないように保護されます。
しかし、ウェブサイトには、文字や画像、動画などのコンテンツが含まれています。それらのコンテンツはウェブページを見るために必要なものですが、その中にはセキュリティが弱いものもあります。
例えば、ウェブサイトがセキュリティの強化されたSSL暗号化を使っているにもかかわらず、一部のコンテンツが安全ではない方法で提供されている場合があります。具体的には、その一部のコンテンツが暗号化されていない通信経路(HTTPと呼ばれる)を使っているのです。これを「Mixed Content(ミックスコンテンツ)」または「混合コンテンツ」と呼びます。
ミックスコンテンツはセキュリティ上の問題を引き起こします。なぜなら、ウェブページの中にあるセキュリティが弱いコンテンツは、攻撃者によって盗聴されたり、改ざんされたりする可能性があるからです。
常時SSL暗号化しているのに三角マークの警告が表示される
筆者が運営をサポートしているサイトでミックスコンテンツになっているケースがあったので紹介したいと思います。以下の状況でした。
- PC閲覧時はSSL暗号化されていた
- モバイル閲覧時にSSL暗号化されておらず三角の警告マークが表示されていた
PCで閲覧したときのアドレスバーには南京錠マークがついておりSSL暗号化できてることが確認できます。
モバイルで閲覧すると、三角マークの中にビックリマーク(!)が入った警告表示がされています。
正常に暗号化が出来ているならば、モバイル版でも以下のように鍵マークが表示されます。
三角マークが入ったURLが「http」になっていないか確認してみたところ「https」で表示されます。
表示されるアドレス自体は「https」でありますが、警告マークがつくという事はミックスコンテンツである可能性が高いと思ったので調査してみました。
ミックスコンテンツの探し方「開発者ツールを使う方法」
今回はミックスコンテンツの探し方をグーグルクロームブラウザを用いて解説していきます。
SSL暗号化が正常ではないページでグーグルクロームの開発者ツール(デベロッパーツール)を下記のいずれかで開きます。
- F12
- Ctrl+Shit+C
次にConsoleを選択します。
「Mixed Contets:」の欄にあるURLで「http」になっているコンテンツを探します。
上記の画像だとJPG画像ファイルが「http」になっているので、リンクをクリックすることでどの画像なのか特定することが出来ます。
ミックスコンテンツの修正方法
今回のミックスコンテンツの原因として考えられるのは、SSL暗号化する前に画像をアップロードしたため「http」のままになっていたことが推測できます。
修正方法は「http」となっているコンテンツを「https」に変えればいいわけなので、簡単です。
今回のように画像ファイルが邪魔している場合には、再アップロードして置換すれば修正完了となります。