また出たわ。「このサイトは安全ではありません」ってどうしたらいいの?
今回はリダイレクトでよくする失敗の「DLG_FLAGS_SEC_CRETCN_INDVALD」について、なるべく初心者さんでもわかるように対応策をまとめました。
警告が出てくると、サイトに訪れた人は「あら、危ない!」とサイトを閉じてしまします。警告が出てくる原因を考えれば、それほど恐いことではありません。知れば「そんなこと」と思うはずですよ。
DLG_FLAGS_SEC_CRETCN_INDVALDについて
Internet Exploreでは「https」で通信できないホームページには「このサイトは安全ではありません」と警告を表示します。警告が表示された時は、必ず詳細情報を確認します。理由とエラーコードが書かれていますので、解決策を考える手段になります。
上の画像は、「このサイトは安全ではありません」の警告の詳細情報を開いた状態です。このホームページが安全ではない理由に「Webサイトのセキュリティ証明書のホスト名が、参照しようとしているWebサイトと異なります」と書かれています。
また、エラーコードは「DLG_FLAGS_SEC_CRET_CN_INVALD」と書かれています。このエラーコードはChromeの場合は「NET::ERR_CERT_COMMON_NAME_INVALID」に該当します。
「セキュリティ証明書は無効ですよ」という意味
「invalid」は「無効」という意味です。詳細情報のとおり、「セキュリティ証明書が使えないですよ」と知らせています。セキュリティ証明書はSSL、サーバー証明書のことです。
httpsの通信は銀行の窓口と同じ
証明書は認証局が発行しています。認証局がパソコンに登録されていないと、その証明書の証明がされません。
例えば、銀行で「私が本人です」といくら言っても印鑑や暗証番号がないと本人を証明できません。銀行に登録された印鑑や暗証番号で本人を証明しているので、どんな有名人でも「私が本人です」と言っても、お金を下ろすことができません。
このようなやりとりをパソコンと見たいホームページのサーバとの間でやりとりをしています。
証明書となんらかの方法でパソコンに登録された認証局が一致すると、鍵が2つ作られます。1つはサーバに送り、片方はパソコンに残ります。この2つの鍵で暗号化通信を行います。
原因と対策
原因を銀行の窓口で考えると、印鑑を忘れた場合とそもそもその銀行に口座をもっていな場合が考えられます。自分のパソコンなのか、証明書にあるのか、どちらかになります。
ここで、もう一度現況を確認すると、
- ホームページのSSL化をサーバで設定した状態
- .htaccessファイルを設置した状態
このどちらかだと思います。
1番だったら、まだ有効化されていない状態です。サーバ証明書が発行されていないと考えられます。なので、もう少々おまちください。
2番だったら、.htaccessファイルのコードか置く場所が違っています。もしくは常時SSL化プラグインを確認します。www付きのドメイン設定を見直してください。
無料SSLを利用している場合は、何かをインストールする必要性は考えられません。無料なのでレンタルサーバーが難しいことはやっておいてくれているはずです。
大体は「wwwありのドメインがない」ことが原因だった
Chromeのエラーコードは「COMMON NAME(コモンネーム)」とありますよね?URLが違いますよっていう意味なのです。コモンネームはサブドメインまでを含んだドメインのことです。接続したいアドレスと、証明書しているアドレスが違っていることが原因です。
私の場合は、さくらインターネットとコアサーバーで常時SSL化を行ったときにエラーが生じました。両方ともwwwありのドメインがないことが原因でした。詳しくはリンク先に対応策を書いています。ぜひ読んでみてくださいね。
「なんだ」と思うでしょ?なので、httpsでの通信はできているので、非推奨でも安心して転送先のホームページを開いても大丈夫です。それに、そもそも個人情報を入力しなければ、ほぼ大丈夫です。