NET::ERR_CLEARTEXT_NOT_PERMITTED エラーを修正するにはどうすればよいですか? (5つの方法)

公開: 2023-12-15

NET::ERR_CLEARTEXT_NOT_PERMITTED エラーを修正したいですか? すると、正しいポストに着地しました。

この NET::ERR_CLEARTEXT_NOT_PERMITTED エラーは Android ユーザーに特有のものであり、Android が他のモバイル OS と比較して大きな市場シェアを持っていることがわかっています。

これは、この特定のエラーの被害に遭っているのはあなただけではなく、あなたのような多くのユーザーがこのエラー メッセージに遭遇したことがある、またはこのエラー メッセージに対して脆弱である可能性があることを意味します。

しかし、心配する必要はありません。 この投稿では、このエラーに関するすべての疑問を解消し、何が問題で、これを修正するには何をする必要があるかを正確に理解できるように支援します。

この包括的な投稿を最後まで読んでください。


目次
NET::ERR_CLEARTEXT_NOT_PERMITTED Android エラーを修正するにはどうすればよいですか?
NET::ERR_CLEARTEXT_NOT_PERMITTED エラーとは何ですか?
Android の Web ビューとは何ですか?
NET::ERR_CLEARTEXT_NOT_PERMITTED エラーの原因は何ですか?
まとめ
よくある質問

NET::ERR_CLEARTEXT_NOT_PERMITTED Android エラーを修正するにはどうすればよいですか?

このセクションでは、 NET::ERR_CLEARTEXT_NOT_PERMITTEDエラーのトラブルシューティングについて説明します。 このため、Android 開発者の場合は、Android アプリにアクセスする必要があります。

  • Androidmanifest.xml を変更してクリア テキスト トラフィックを有効にする
  • 「network_security_config.Xml」を使用して特定の Web サイトをホワイトリストに登録する
  • Nginx の HTTP から HTTPS へのリダイレクト
  • WordPress サイトで HTTPS を使用するように強制する
  • 最新のブラウザで Web サイトを読み込む

1. Androidmanifest.xml を変更してクリア テキスト トラフィックを有効にする

最初のトラブルシューティング方法は、androidmanifest.xml ファイルを変更してクリア テキスト トラフィックを有効にすることです。 すべての Android アプリには、Android オペレーティング システムおよびその他の Android プラットフォームに必要なアプリに関連するすべての情報が含まれる Androidmanifest.xml ファイルがあります。

この特定の方法は Google の厳格な HTTPS ガイドラインをバイパスするため、読み込もうとしている Web サイトが暗号化トラフィックに移行しない限り、一時的な解決策となります。

Clear トラフィックを有効または許可するには、「android:usescleartexttraffic」属性を追加し、「<application>」タグでその値を「true」に設定するだけです。

Androidmanifest.xml ファイルに移動して編集するには、以下の簡単な手順に従います。

ステップ 1:まず、Android プロジェクトを開くか、アプリの .apk ファイルにアクセスする必要があります。 Android プロジェクトを開いて編集するにはさまざまな方法がありますが、利便性のために Android Studio を使用してください。

ステップ 2: Android Studio で Android プロジェクトを開くことができたら、プロジェクトのディレクトリ構造にある「AndroidManifest.xml」ファイルに移動します。

ステップ 3: 「AndroidManifest.xml」ファイルが見つかったら、クリックしてテキスト エディタで開きます。

ステップ 4:次に、「<application>」タグを探して、この属性「android:usescleartexttraffic」を追加します。

  • プロジェクトのディレクトリ構造内で「AndroidManifest.xml」ファイルを見つけます。
  • テキスト エディタまたは IDE 内で「AndroidManifest.xml」ファイルを開きます。
  • 次のコード行「 android:usesCleartextTraffic=”true 」を見つけて、アプリケーションの開始タグと終了タグ内に追加します。

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:usesCleartextTraffic=”true”
</application>

属性がすでに False に設定されている場合は、True に設定します。

ステップ 5:その後、ファイルを保存すれば完了です。


注:上記の方法は、セキュリティをバイパスし、Android アプリの Web ビューへの安全でないトラフィックを許可するため、あまり推奨されないことに注意してください。 これにより、ユーザーの機密情報が第三者に公開される可能性があります。 したがって、この方法はテストまたは開発の目的に最適です。


2.「network_security_config.Xml」を使用して特定の Web サイトをホワイトリストに登録する

前の方法で見たものとは別に。 このソリューションは、信頼できる特定のドメインへのクリア テキスト トラフィックを許可することに重点を置いています。

前の方法と比較すると、この方法は非常に安全であり、Android アプリの Web ビューに読み込むために安全な Web ページのみをリンクできます。

留意すべき点の 1 つは、これら 2 つの方法のうち、すべての Web サイトまたはアプリに対してクリアテキスト トラフィックを有効にするか、特定のドメインまたはアプリのみを許可するかのいずれか 1 つしか試行できないことです。
セキュリティが最大の懸念事項である場合は、以下で説明する方法に従うことをお勧めします。

最初に行う必要があるのは、network_security_config.Xml ファイルを作成することです。 このためには、Android Studio で Android プロジェクトを開き、パス app/src/main/res/xml/network_security_config.xml に従って「res」ディレクトリに移動する必要があります。

ここで、 res ディレクトリ内に「 network_security_config.xml 」という名前の新しいファイルを作成し、次のコード行をそれに追加します。

<?xml version=”1.0″ encoding=”utf-8″?>
<network-security-config>
<base-config cleartextTrafficPermitted=”true”>
<trust-anchors>
<certificates src=”system” />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted=”true”>
<domain>insert_name_of_domain</domain>
<domain includeSubdomains=”true”>insert_sub_domain_including_ip_addresses</domain>
</domain-config>
</network-security-config>

これにより、特定のドメインのみがクリアテキストを使用できるようになります。 ただし、「domain include Subdomains」要素を使用して複数のドメインまたは URL を追加できます。 ただし、セキュリティ上の理由から、信頼できるドメインまたは URL のみを追加することをお勧めします。

次に、「 network_security_config.xml 」ファイルを保存し、「AndroidManifest.xml」ファイルを更新して有効にします。

これを行うには、この「 AndroidManifest.xml 」ファイルを開き、アプリケーションのサブ要素タグを探し、それらの間に次のコード行を挿入します。

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest …>
<uses-permission android:name=”android.permission.INTERNET” />
<application

android:networkSecurityConfig=”@xml/network_security_config” …>

</application>
</manifest>

AndroidManifest.xml 」ファイルを保存して閉じます。 これで、Webview に HTTP Web ページをロードできるようになりました。


読む: NET::ERR_CERT_DATE_INVALID エラーを修正するための 12 の最良の方法


3. Nginx の HTTP から HTTPS へのリダイレクト

Nginx Web サーバーが WebViw にエラー メッセージ「 NET::ERR_CLEARTEXT_NOT_PERMITTED 」を表示しないようにしたい場合。 HTTPS の使用を強制し、サーバーとクライアントの間に安全な接続を確立することができます。

これを可能にするには、以下の手順に従います。

  • まず、/etc/nginx/conf.d または etc/nginx/nginx.conf のいずれかのパスに従って、Web サイトの Nginx 構成ファイルを開く必要があります。
  • Web サイト名を示すサーバー ブロックを探し、次のコード行を挿入します。

<VirtualHost *:80>
ServerName your_website.com # Replace with your domain name
# Redirect HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

このコードにより、HTTP から HTTPS へのリダイレクトが有効になります。 ファイルを保存して変更を有効にします。

次に、このコマンド「apachectl configtest」に従って、構成ファイルが機能しているかどうかをテストします。

すべてが機能していることが判明した場合は、以下のコマンドに従って Apache サーバーを再起動する必要があります。

# Ubuntu, Debian
sudo service apache2 restart
# CentOS, Fedora
sudo systemctl restart httpd

4. WordPress サイトで HTTPS を使用するように強制する

NET::ERR_CLEARTEXT_NOT_PERMITTEDエラーに対する最も安全で強く推奨される方法の 1 つは、HTTPS ではなく HTTP を使用する Web サイトを強制または構成することです。 Google 検索エンジンでさえ、安全な Web サイトを SERP の主要なランキング要素の 1 つとみなしています。

このリダイレクト技術に関する専用のブログを参照してください。選択した方法のいずれかに従って、NET::ERR_CLEARTEXT_NOT_PERMITTED エラーを排除してください。

  • WordPress リダイレクト URL はどのように機能しますか? 5 つの最良の方法
  • WordPress での HTTP から HTTPS への移行に関する完全ガイド

5. 最新のブラウザで Web サイトをロードする

上記の方法がどれもうまくいかない場合、または上記の方法に従うのが面倒だと感じている場合。 Chrome や Firefox などの最新のブラウザで Web サイトまたはドメインにアクセスするだけです。

ただし、最近では、これらのブラウザで HTTP Web サイトをロードしようとすると、アドレス バーに「接続、プライベートではありません」というエラー メッセージまたは「接続が安全ではありません」というエラー メッセージが表示されることがあります。

ただし、 NET::ERR_CLEARTEXT_NOT_PERMITTED Samsung エラーから解放されるわけではありませんが、それでもセキュリティ リスクにさらされており、Web サイトで共有するデータはすべてクリアテキストのままです。

したがって、個人情報に至るまで機密情報を HTTP を使用する Web サイトに共有したり提供したりすることは避けてください。 これが、Google がデフォルトで無効にしている主な理由です。


読む: NET::ERR_CERT_AUTHORITY_INVALID エラーを修正する方法? (10 のソリューション)


NET::ERR_CLEARTEXT_NOT_PERMITTED エラーとは何ですか?

NET::ERR_CLEARTEXT_NOT_PERMITTED は、Android アプリが暗号化されていない情報または HTTP 情報をロードしようとしているときに Android システム Web ビューに表示されるエラー メッセージです。

このエラーを技術的な不具合や問題と誤解しないでください。 驚くべきことに、同じ URL をロードしたり、どの Web ブラウザでも同じ情報をロードしようとすると、 エラーが発生しない可能性もあります。

Android アプリ内では NET::ERR_CLEARTEXT_NOT_PERMITTED が表示されるため、Android アプリ自体に問題があると誤解する可能性もあります。 ただし、このエラーは簡単に回避または修正できます。

利用可能なソリューションの大部分は、Android 開発者と Web 管理者を対象としています。 ただし、エンド ユーザーの場合は、Web ブラウザに URL をロードする以外に、いくつかのトラブルシューティング方法しか実行できません。


Android の Web ビューとは何ですか?

あなたがエンドユーザーであれば、Android Web ビューについてまったく知らないかもしれません。 分かりやすくお手伝いさせていただきます。

これは、外部ブラウザを使用せずに Android アプリ内で Web ページを読み込むのに役立つ Android OS の特別な機能です。 また、開発者は、ネイティブ機能と Web ベースの機能の両方を組み合わせたハイブリッド アプリケーションを作成できます。

これらすべての機能を除けば、Web ビューの唯一の欠点は、ブラウザーで得られる機能の量が得られないことです。

NET::ERR_CLEARTEXT_NOT_PERMITTED エラーは、Web ビューを使用する Android アプリに固有です。 Chrome や Firefox などのブラウザで Web サイトを閲覧しているときには、このようなエラーは発生しません。

ただし、セキュリティで保護されていない Web サイトまたは PHP で構築された Web サイトにアクセスすると、「接続はプライベートではありません」という別の種類のエラーが発生する可能性があります。


NET::ERR_CLEARTEXT_NOT_PERMITTED エラーの原因は何ですか?

NET::ERR_CLEARTEXT_NOT_PERMITTEDエラーは、Android アプリが暗号化されていない Web コンテンツをクリアテキスト経由で読み込もうとしたために発生しました。 しかし、Android バージョン 9 (Pie) 以降、Google はデフォルト設定でこの暗号化されていないデータの送信や HTTP Web ページの読み込みを無効にしました。

現在、この構成は Android View を使用するアプリケーションにのみ適用されます。 これが、Android OS でもブラウザ上ではこのエラーが発生せず、Android アプリ内ではこのエラーが発生しない主な理由です。

Google がこれを強制する目的は、ユーザーが機密情報を第三者から保護できる安全な環境を作ることです。 Google は、Android 開発者に対し、安全でない HTTP 接続ではなく、HTTPS 互換の Web サイトのみを Web ビューに提供することを推奨しています。 HTTPS には次のようなさまざまな利点があるため、

  • Android アプリのセキュリティ強化
  • 信頼とユーザーの信頼
  • データの整合性
  • 認証
  • SEOのメリット
  • ユーザーに対する機密保持など。

まとめ

Android のアプリ Web ビューで NET::ERR_CLEARTEXT_NOT_PERMITTED エラーが発生した場合、それは単にアプリがセキュリティで保護されていない HTTP Web サイトを読み込もうとしていることを意味します。 セキュリティ上の理由から、Google はユーザーの機密情報を侵害する可能性のあるこのような安全でない Web サイトをブロックできるようにしました。

Android 開発者または Web サイト管理者の場合は、以下の方法に従ってください。

  • Androidmanifest.xml を変更してクリア テキスト トラフィックを有効にする
  • 「network_security_config.Xml」を使用して特定の Web サイトをホワイトリストに登録する
  • Nginx の HTTP から HTTPS へのリダイレクト
  • WordPress サイトで HTTPS を使用するように強制する
  • 最新のブラウザで Web サイトを読み込む

この投稿に関してご質問やご提案がございましたら、以下のコメント欄にご記入ください。


よくある質問

Err_cleartext_not_permitted とはどういう意味ですか?

NET::ERR_CLEARTEXT_NOT_PERMITTED は、Android アプリが暗号化されていない情報または HTTP 情報をロードしようとしているときに Android システム Web ビューに表示されるエラー メッセージです。

Android ではクリアテキストは許可されていませんというエラーとは何ですか?

Android での「クリアテキストは許可されていません」エラーは通常、アプリが安全な HTTPS 接続ではなく、安全でない HTTP 接続 (クリアテキスト) 経由でネットワーク リクエストを行おうとしたときに発生します。 このエラーは、開発者がネットワーク経由でデータを送信する際に安全な接続を使用することを奨励するために Android に導入されたセキュリティ機能です。

Android の err_cleartext_not_permitted を修正する方法

Android 開発者または Web サイト管理者の場合は、以下の方法に従ってください。
1. Androidmanifest.xml を変更してクリア テキスト トラフィックを有効にする
2.「network_security_config.Xml」を使用して特定の Web サイトをホワイトリストに登録する
3. Nginx の HTTP から HTTPS へのリダイレクト
4. WordPress サイトで HTTPS を使用するように強制する
5. 最新のブラウザで Web サイトをロードする