便利な操作画面とホスティング機能を、見本アカウントでご覧いただけます。お客様のウェブサイトやプロジェクトについてお気軽にご連絡ください。1営業日以内にお返事いたします。MyKinstaでチャットを開始して、知識豊富なエンジニアに相談。知識ベース【3つの方法】「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーを解決するには【3つの方法】「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーを解決するには最終更新日:2023年04月28日シェアAndroidをお使いの場合、サイトやウェブアプリにアクセスしようとすると、「NET::ERR_CLEARTEXT_NOT_PERMITTED」というエラーメッセージに遭遇することがあります。これはAndroid特有のエラーで、発生するとそのコンテンツへのアクセスがブロックされてしまいます。これは、そのサイトまたはアプリが平文(クリアテキストとも)、つまり暗号化されていない情報を使用していることが原因です。あなたがAndroid開発者またはサイト管理者の場合、このエラーを回避する方法があります。この記事を参考に実践してみてください。Webviewについて、そして「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーの原因についてご説明します。それから、このエラーのトラブルシューティング方法を3つご紹介していきます。OS内蔵の機能で、ウェブアプリで主に使用されます。ウェブアプリとは、サイトをアプリとしてスマートフォンにインストールするためのソフトウェアです。WebViewWebviewは、アプリ上でサイトにアクセスすることを可能にしますが、ブラウザほどの機能性はありません。したがって、ウェブを閲覧するには、WebviewよりもChromeなどのブラウザの方が適しています。ブラウザで発生することはありません。Secure」または「保護されていない通信」などの警告やその他のエラーに遭遇する可能性があります。このエラーは、アプリやウェブサイトが平文、つまり暗号化されていない情報を使用すると発生するもの。クリックでつぶやく「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーとはWebviewで、HTTPページなどの暗号化されていないコンテンツを情報を含むページを読み込むように設定すると、アプリで以下のようなエラーが返されます(Androidアプリ開発ツールでの表示例)。「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーこのエラーは、サイトにアクセスできない、または技術的な問題があるという意味ではありません。別のブラウザで同じURLにアクセスすると、問題なく閲覧できる可能性もあります。HTTPサイトであれば、安全でないサイトにアクセスしていることを示す警告のアイコンが表示される程度です。このエラーは、Androidアプリ上でのみ発生するため、一見アプリ自体に問題があると思われがちですが、アプリ開発者やサイト管理者が実践できる回避策、トラブルシューティング方法があります。アプリ利用者には、ブラウザでアクセスしてみる程度しか策がありません。「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーの原因Androidは、アプリが誤って暗号化されていないデータ、つまり「平文」を送信するのを防ぐようになっています。9.0以降、アプリのデフォルト設定です。Webviewを使用するアプリに適用されることから、このエラーはアプリ上でのみ発生します。主な原因は、暗号化されていない情報にあり、そのトラブルシューティグ方法はさまざまです。アプリ開発者であれば、クリアテキストのサポートが有効になるよう、設定ファイルを編集することができます。サイト所有者であれば、サイト内のすべてのページがHTTPSにリダイレクトされるように設定するのが効果的です。これによって、ユーザーが暗号化されていないチャネルにアクセスすることがなくなり、ウェブサイトを参照するAndroidアプリがこのエラーを返すことがなくなります。「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーを解決するには(3つの方法)それでは、Androidおよびサイトからこのエラーを解決する方法を詳しく見ていきましょう。トラブルシューティングおよびエラーが解決したかどうかを確認するには、Androidデバイスが必要です。Store、および一部の開発ツールで必要とされるアプリに関する情報が格納されています。AndroidManifest.xmlファイルには、キーのアクセス権に関する情報や、アプリがWebView上で平文を読み込めるかどうかの情報読も含まれています。Googleはセキュリティ上の問題から、平文の読み込みを許可しないよう勧告しています。したがって、この解決策は、対象のサイトが暗号化されたトラフィックに切り替わるまでの一時的なものであることを念頭に置いてください。AndroidManifest.xmlの編集方法は、HTMLファイルの編集と似ており、アプリの.apkファイルまたはプロジェクトソースにアクセスします。Studioを使った方法が推奨されています。Studioでプロジェクトを開くと、標準化されたディレクトリ内すべての関連ファイルを表示することができます。AndroidManifest.xmlファイルは、manifestsディレクトリの中に格納されています。manifestsディレクトリ内にあるAndroidManifest.xmlこのファイルを開いて、以下のような<application>サブ要素を見つけます。></application><application>サブ要素内の変数は変更される可能性があるため、<application>の開始タグと終了タグを必ず確認してください。タグを見つけたら、以下のコードを貼り付けます。android:usesCleartextTraffic=”true”変数usesCleartexTrafficがすでに「false」に設定されている場合は、「true」に変更します。その後、AndroidManifest.xmlに変更を保存してファイルを閉じ、プロジェクトに変更を保存しましょう。7.0以降、Googleではネットワークセキュリティ構成ファイルを使用して、特定のドメインやアプリを許可できるようになっています。簡単に言うと、network_security_config.xmlを使用すると、1つまたは複数のドメインに対するクリアテキストの制限を回避することができます。この手法は、上でご紹介したアプリ全体でクリアテキストをサポートするよりも安全ですが、最も安全な方法は、Webviewを使用して安全なページのみにリンクすることです。アプリ全体で平文をサポートするように設定すると、特定のドメインを許可リストに登録する必要がなくなるため、どちらか1つの方法を選択するのが理想的です。安全を重視する場合は、以下にご紹介する手順に従ってください。アプリのnetwork_security_config.xmlファイルを作成します。resディレクトリに移動します。resディレクトリには、XMLファイル(AndroidManifest.xmlを除く)、ビットマップ画像など、アプリプロジェクトのすべての非コードファイルが格納されています。resディレクトリ内に「network_security_config.xml」という名前のファイルを作成して、以下のコードを貼り付けます。includeSubdomains>要素を使って、URLをさらに追加することも可能です。セキュリティ上の理由から、この設定が不可欠なドメインのみに制限することをお勧めします。network_security_config.xmlの変更を保存して、manifestsディレクトリに戻ります。ネットワークセキュリティ構成を有効にするには、AndroidManifest.xmlを再度編集します。ファイルを開き、<application>サブ要素を見つけて、タグ内に以下のコードを貼り付けます。android:networkSecurityConfig="@xml/network_security_config"ファイルへの変更を保存した後、AndroidManifest.xmlを閉じます。これでアプリで指定したドメインで平文の使用が許可されます。サイトをHTTPS化する「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーを解決する最も安全な方法は、エラーメッセージを返すウェブサイトをHTTPS化することです。これによって、サイトとの間で送信されるすべてのデータを暗号化することができます。現代のウェブにおいて、サイトをHTTPS化しない理由はもはやなし。セキュアソケットレイヤー(SSL)証明書は、無料で入手することができ、設定も数分でできてしまいます。現在では、Kinstaを含む一部のホスティングサービスでこの設定を代行しています。Kinstaのホスティングプランをご利用の場合は、SSL証明書がサイトに自動設定されます。MyKinstaからサイトをHTTPSにリダイレクトすることも可能です。これを行うには、MyKinstaにログイン後、該当のサイトを選択して「ツール」画面に移動します。「HTTPSリダイレクト」セクションの「利用する」をクリックすれば完了です。ワンクリックでHTTPSリダイレクトを設定Kinsta以外をご利用の場合は、WordPressの.htaccessファイルを編集してHTTPトラフィックをHTTPSにリダイレクトするか、プラグインを使用してください。SSLプラグインがおすすめです。SSLプラグインを使った方法を含む)については、『WordPressでHTTPをHTTPSにリダイレクトする方法』をご覧ください。サイトをHTTPS化したら、Webviewを使用してサイトを閲覧する際に、このエラーに遭遇することはなくなるはずです。クリックでつぶやくまとめAndroidで「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーに遭遇したら、使用しているアプリが平文、または保護されていない情報を送信しようとするページにアクセスしようとしていることを意味します。ユーザーデータの漏洩を防ぐため、Androidではこのようなページがブロックされるようになっています。アプリの利用者、またはサイト訪問者であれば、ブラウザでアクセスすればこのエラーを回避することができます。開発者であれば、AndroidManifest.xmlを編集して、network_security_config.xmlでドメインを許可し、サイトをHTTPSに切り替えましょう。Kinstaを利用すれば、SSL証明書の自動設定とワンクリックのHTTPSリダイレクトによって、自社のサイトでこの「NET::ERR_CLEARTEXT_NOT_PERMITTED」エラーが発生する確率はかなり低くなります。WordPress専用マネージドホスティングまたはアプリケーションホスティングの詳細をご確認の上、自社に合ったプランをご検討ください。アプリケーション、データベース、WordPressサイトのすべてを一箇所で。Kinstaの高性能クラウドプラットフォームでは、次のような便利な性能や機能の数々をご用意しています。最大35箇所のデータセンター、275のPoPを武器に世界規模でオーディエンスに訴求アプリケーションホスティング、データベースホスティングを無料利用枠を使いお試しいただけます。プラン一覧をご覧いただくか、お客様のご要望について営業までお気軽にお問い合わせください。知識ベースMySQLテーブルの破損を修復する4つの方法(実証済みの手法)データベースが破損すると、ウェブサイトが正常に動作しなくなる恐れがあります。この記事では、MySQLテーブルの破損を修復する4つの方法をご紹介します。知識ベース「サイトに重大なエラーがありました。」への対処方法WordPressサイトで「サイトに重大なエラーがありました。知識ベースCloudflareを用いたWordPressサイトの高速化と保護(Q&A)KinstaのCloudflare統合により、Kinstaのプラットフォームをご利用のWordPressサイトがより高速かつ安全になります。最新のウェブ開発トレンド、フレームワーク、言語などをご紹介。法的事項はこちらをご覧ください。