iPhoneでWebが表示できない。エラー『接続はプライベートではありません』の原因と解決方法

エンジニア小技

・iPhoneでブログやwebサイトにアクセスできない

・ChromeでもSafariでも『接続はプライベートではありません』と表示される

・SSL証明書の期限は切れていないのになぜ?

・事象が発生する理由が知りたい

こういった疑問に答えます。

スポンサーリンク

iPhoneでWebが表示できない。エラー『接続はプライベートではありません』の原因と解決方法

先日、ブログの環境支援をしている方から突然の連絡があり、一言「自身のブログがiPhoneでブログが見えないんだけど・・・」という問い合わせがありました。

詳しく聞いてい見ると、パソコンでは問題なくブログは表示が可能にも関わらず、iPhoneからは接続が出来ないとのことでした。

結局、事象としては、

  • 他のブログサイトでも同じエラー
  • iOSが古かった(更新していない)
  • iOSをアップグレードしたら復旧

ということで、サイト側の設定問題では無かったですが、「そもそも何が発生していたのか?」を含めて寄稿にしたいと思います。

実際の『接続はプライベートではありません』のエラーメッセージ

当初はSSL関連の設定の問題かと考え、サーバー側の設定に漏れやエラーが出ていないか、証明書の期限が切れていないか等を確認しましたが、設定関連のミスも証明書のエラーも有りません。

そこで、タクゾーが保有しているiPhone SEで自分のサイトにアクセスしたところ、以下の通りエラーがSafariもChromeも同じエラーでタクゾーのサイトにも接続が出来ません。

つまり、この時点でサイト側の証明書関連の設定ではなく、端末(iPhone)側であることが判明しました。

なお、参考までに設定しているサーバー内容はこちらの通りで、Let’s encryptを利用しています。

【完全初心者向け】Amazon LightsailのHTTPSの自動更新設定を完全解説
「Amazon Lightsailで無料でWebサイトをHTTPS化をしたい。SSL証明書の自動更新はどのように設定するの?あまりITに詳しくないので、なるべく簡単な手順で作業したい」←こんな疑問を解決します。

ここで改めてiPhone側の設定をみると、少し様子がおかしいことに気が付きます。

PC及びiPhoneからサイトの証明書を確認した際に、証明書の期限は切れていないにもかかわらず、iPhoneで証明書を確認していみると 2021/09/30 4:21:40 に有効期限切れと表示されるため、やはり端末側の問題ということが分かります。

Let’s Encrypt に関する情報収集

さて、端末(iPhone)側であることは分かったとして、どのように直せばよいか調べる必要があります。

そこで、『Let’s Encrypt r3 expired』や『Let’s Encrypt r3 iPhone』で検索してみると、2021年9月にLet’s Encrypt の証明書の期限切れが大きな問題となっていたようで、多くの機器で対策が必要であったとの記事を見かけます。

ただし、ここで問題になっているのはLet’s Encryptのルート証明書(IdentTrust DST Root CA X3)に関するもので、影響を受けるのはWindows XP やiOS10未満、Android7.1.1といった古いOSで、完全に一致する内容でありません。

以下が影響を受ける環境のリストです。

  • OpenSSL <= 1.0.2
  • Windows < XP SP3
  • macOS < 10.12.1
  • iOS < 10 (iPhone 5 is the lowest model that can get to iOS 10)
  • Android < 7.1.1 (but >= 2.3.6 will work if served ISRG Root X1 cross-sign)
  • Mozilla Firefox < 50
  • Ubuntu < 16.04
  • Debian < 8
  • Java 8 < 8u141
  • Java 7 < 7u151
  • NSS < 3.26
  • Amazon FireOS (Silk Browser)
TechCrunch – Startup and Technology News
TechCrunch - Reporting on the business of technology, startups, venture capital funding, and Silicon Valley

また証明書についても事象が発生しているR3のものではなく、依頼者のiPhoneもタクゾーの手持ちの2021年2月に購入したiPhone SE(第2世代)でもそこまで古くはありません。

そこでもう少し調べていくと、 Let’s Encrypt のコミュニティーサイトでiOS14でも証明書の期限切れ問題が発生することが判明しました。

Problem with R3 since 15:00 EST. All email down on any iOS device running current iOS 14.x
Since 15:00 today, all email access for any iOS device is broken to our email server using letsencrypt SSL certificate. The certificate path returned by iOS on...

試しにiPhone SE のiOSバージョンを調べてみると、システムバージョンが 『14.3』であることが判明しました。

iPhone側の何かしらの設定で事象を解決するというよりは、iOSのバージョンアップを試してみることが重要ということが分かります。

iOSのバージョンアップして復旧

ということで早速依頼人に、iOSのバージョンアップ後に再度サイトにアクセスして問題が発生するかを依頼したところ、数時間後に『無事表示される!』とのことで、問題は解決しました。

合わせてタクゾーの iPhone SE をバージョンアップすると、こちらも事象が解決しました。

SSL証明書とその動きについて

今回の事象はiPhoneのiOSのバージョンアップで事象は改善しましたが、そもそもなぜそういった事象が発生するのかを知りたい方もいらっしゃるかもしれません。

以下のリンクは、情報は古いものの分かりやすく纏まっています。

ご興味がある方はご一読頂くと良いでしょう。

https://www.digicert.co.jp/welcome/pdf/wp_sslandroot-certificate.pdf

まとめ

今回は急な問い合わせから、どのようにトラブル対応をしたのかを含めて寄稿してみました。

最終的にはiPhoneのiOSのバージョンアップで復旧しましたが、問題の解決に当たってはサーバサイドの設定や環境など実は調べることが多かったです。

もし同様なエラーがある方で難しいことは良く分からないという方は、iOSのアップデートで事象が解決するか試してみましょう。

最後に、本ブログでは、このようなエンジニアの小技をご紹介していますので、こちらも参考までにどうぞ。

エンジニア小技
「エンジニア小技」の記事一覧です。
タイトルとURLをコピーしました