Localという開発環境を構築するアプリを使って、作成したLocalサイトにアクセスすると、「プライバシーが保護されていません」というWEBブラウザのアラートメッセージが表示されました。
ローカルのテスト環境なので無視しても問題ないのですが、毎回それが表示されるのは邪魔なので、対応方法を調べてみると、”MACのOS Big Surは、LocalというアプリがSSL証明書を自動的に信頼すること許可していないこと”が原因とわかりました。
対策としては、手動でSSL証明書を信頼するということをする必要があるとのことなので、今回は、その対応方法を紹介します。
LocalでSSL証明書を作成する
まず「サイトの概要」ページの「SSL」セクションの横にある「TRUST」ボタンをクリックします。
これによって、Localにこのサイトに関する証明書を生成し、Mac OSに証明書を登録してくれます。
すると、Macに変更を加えることになるので、パスワードの入力が求められます。
通常であれば、クリックしたTRUSTがTRUSTEDになって、“信頼済み“となります。
しかし、稀に何らかの理由で、エラーがでて、TRUSTEDにならないこともあるみたいです。(上記のビデオがその稀の例です。)
エラーメッセージを翻訳すると・・・「Heads-up! We ran into an issue trusting the Local SSL certificate.」 ⇒(Local SSL証明書の信頼に問題がありました)と表記されます。
“詳しく”(Learn more)のリンクがあるので、クリックすると、Local公式サイトの「Mac OSでのローカルサイトのSSL証明書の管理」というページにアクセスします。
しかし、内容を確認しても、今回紹介する、MacOSでローカルサイトのSSL証明書を発行する手順が書いてあるだけで、このエラーに関することは、何も書いていないです。
この場合、一旦、このLocalアプリを再起動すると、エラーが治ることがあります。
尚、Macの場合、“×ボタン”で閉じただけでは待機状態となり、アプリを停止したことにならないので、きちんとアプリそのものを終了させてから再起動してください。(Cmd+Qのショートカットでアプリを終了できます。)
実際、上記のビデオでは、Localアプリを再起動するとTRUSTED(信頼済み)になりました。おそらく、何らかのエラーがあったようですが、Localアプリを再起動したら解消したようで、正常に処理されたみたいです。
では、次の手順に移ります。
キーチェーンアクセスの設定を変える
つぎは、「Localのこのサイトの証明書は信頼できるもの」とMacに認識させる処理を行います。
macOSでは、SSL証明書は「キーチェーン」に保存されるので、macOSに付属の「キーチェーンアクセス」アプリケーションを使用して、SSL証明書の設定を変えます。
まず、キーチェーンアクセスを起動させ、検索窓にLocalで作成したドメインのSSL証明書(画像で囲っている部分)を検索します。
それをダブルクリックすると、詳細情報が表示されるので、“信頼”をクリックし、「この証明書を使用するとき」の部分を「常に信頼」に変更します。すると、他の項目も全て「常に信頼」に変更されます。
これでOKです。バツボタンで閉じようとすると、変更確認のパスワードの入力が求められるので、パスワードを入力して、“変更をアップデート”をクリック。これでキーチェーンの設定は完了です。
この時点で、ローカルサイトを”https://〜”形式で表示させることができます。
ただし、まだこの時点では、データベース内のURLは”http://〜”のままなので、次はデータベース内のURLも、”https://〜”に置き換える設定を行います。
データベース内のURLを更新する
Local Site を右クリックし、「Open Site Shel」を選択します。
開いたターミナルウィンドウ内で、
wp search-replace ‘http://ローカルサイトドメイン’ ‘https://ローカルサイトドメイン’
と入力しEnterキーをクリック。
(下画像の場合、wp search-replace ‘http://webedgcaljp.local’ ‘https://wededgcaljp.local’と入力。半角スペースの存在に注意です。)
すると、データベース内のURLの変更処理が実行されます。
完了(英語表記)と表示されたら、完了です。
LocalサイトのデフォルトURLをhttps://に変更する
ここまでの設定により、このローカルサイトにはhttp://から始まるページと、https://から始まるページが混在している状態になっています。
現状では、LocalサイトのTOPページや WordPressのログインページが、http://から始まるURLが設定されているため、Localアプリからログインすると、保護されていない(鍵マークがついていない)http://〜のサイトが表示されます。(他のページへのリンク先はhttps://〜が表示されます。)
ですから、LocalサイトのTOPページやログインページをhttps://から始まるURLに変更します。
※ちなみに、これについての対処法についてですが、エジカルとしては、プラグインを使って自動で対処してもらうことが一番楽だし安全と考えていますが、今回は開発環境ということもあり、手動で対応します。
管理画面から設定、一般をクリックし、一般設定画面をひらきます。
一般設定のWordPressアドレス(URL)と、サイトアドレス(URL)をみると、上記したように、http://から始まるURLが設定されています。
これをhttps://から始まるURLに変更して、変更を保存すればOKです。
すると、ログインページに移動しますが、このときすでにSSLに対応したページになっています。
ただ、この方法での変更を本番環境で行うと、ログインできなくなったりするトラブルが発生するので、本番環境や、本番サイトとして利用する前提のローカルサイトでSSLに対応する際は、トラブル防止のために、プラグインを使って対応することをオススメします。
設定内容が反映されているのかを確認するために、LocalアプリからOPEN SITE をクリックしてみます。
すると、鍵マークがついている、きちんとSSLに対応したTOPページが開きました。
余談ですが、今回紹介したようにhttpとhttpsの両方のURLが混在した状態になっているWEBサイトって意外と多いです。しかしこの状態は、重複したコンテンツとか、コンテンツをコピペしたサイトとみなされるので、SEO的にはペナルティ要素になります。
ですから、URLが混在していることに気づいたら早めに対処することをオススメします。(重複コンテンツについては別途紹介します。)
以上、Localアプリで作成したローカルサイトで、突然「プライバシーが保護されません」というブラウザアラートが表示されることに対する対応方法を紹介しました。
アラート対策というよりは、LocalのサイトをSSLに対応させる方法でした(笑)
今回紹介したこの現象については、Local側でも懸念しているので、近々対応し、発生しなくなると思います。ただ、現状では、不便なので、今回はその対応方法をシェアしました。