初心者ガイド
SSLの警告・エラーが出るときの原因と対処 — 「保護されていない通信」の直し方
本サイトにはプロモーション(アフィリエイト広告)が含まれています。
情報ソース
- 当サイト掲載データ(各サービス公式サイトで確認した情報)
更新履歴(1件)
- 記事を公開。
自分のサイトに「保護されていない通信」「この接続ではプライバシーが保護されません」といった警告が出ると不安になります。多くは設定で解決できます。原因を切り分けながら対処法を整理します。SSLの基本はSSL化の解説を参照してください。
まず原因を切り分ける
SSL関連の警告は、主に次のいずれかが原因です。
- SSL証明書がまだ設定されていない(または反映途中)
- 常時SSL化していない(http→httpsのリダイレクト未設定)
- 混在コンテンツ(mixed content) … httpsページ内にhttpの画像・スクリプトが残っている
- 証明書の期限切れ
- ドメイン名の不一致(証明書と実際のドメインが違う)
対処1: SSL証明書を設定する
そもそも証明書を入れていない場合は、サーバーの管理画面で無料SSL(独自SSL)を設定します。設定直後は反映に時間がかかることがあります(数分〜数十分)。設定手順はSSL化の記事を参照してください。
対処2: 常時SSL化する(最も多い原因)
証明書を入れても、http://でアクセスすると警告が出ることがあります。http://をhttps://へ自動転送する常時SSL化を設定してください。
- サーバー側の「常時SSL化」機能を有効にする
- またはWordPressのリダイレクトプラグイン/設定を使う
- WordPressは「設定→一般」でサイトURLを
https://にする
対処3: 混在コンテンツ(mixed content)を直す
httpsのページ内に、http://で読み込む画像・CSS・JavaScriptが残っていると「一部が保護されていない」と警告されます。
- 記事内の画像URLを
https://に修正する - テーマ・プラグインが古いURLを出している場合は更新・設定を見直す
- データベース内の
http://を一括置換するプラグインもある(実行前にバックアップを取る)
対処4: 期限切れ・自動更新の確認
無料SSL(Let’s Encrypt)は多くのサービスで自動更新されますが、まれに更新に失敗して期限切れになることがあります。管理画面で証明書の状態と自動更新の有効化を確認してください。
切り分けのコツ
- サイト全体で警告 → 証明書未設定 or 常時SSL化していない
- 一部のページ・要素だけ警告 → 混在コンテンツ
- ある日突然警告 → 期限切れ(自動更新の失敗)を疑う
設定したのにすぐ直りません。故障ですか?
SSL証明書の発行・反映には時間がかかることがあります(数分〜数十分)。少し待ってから再確認してください。それでも直らない場合は常時SSL化・混在コンテンツを確認します。
「混在コンテンツ」とは何ですか?
httpsのページの中に、httpで読み込まれる画像やスクリプトが混ざっている状態です。ブラウザは「一部が保護されていない」と警告します。該当要素のURLをhttpsに直せば解消します。
無料SSLでも警告は消えますか?
消えます。無料SSL(Let's Encrypt)でも正しく設定・常時SSL化すれば「保護された通信」になります。警告の原因は証明書の種類ではなく、設定漏れであることがほとんどです。