如何修復 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤? (5種方法)

已發表: 2023-12-15

您是否希望修復 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤? 那麼您就找到了正確的位置。

此 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤特定於 Android 用戶,我們知道與其他行動作業系統相比,Android 擁有巨大的市場份額。

這意味著您並不是這一特定錯誤的唯一受害者,但可能有許多像您一樣的用戶有時遇到過或容易受到此錯誤訊息的影響。

但您無需擔心。 在這篇文章中,我們將盡力消除您對此錯誤的所有疑慮,並幫助您確切了解出了什麼問題以及需要採取哪些措施來解決此問題。

因此,請繼續關注並繼續閱讀這篇綜合文章直到最後。


目錄
如何修復 NET::ERR_CLEARTEXT_NOT_PERMITTED Android 錯誤?
什麼是 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤?
什麼是 Android 網頁視圖?
是什麼導致 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤?
概括
經常問的問題

如何修復 NET::ERR_CLEARTEXT_NOT_PERMITTED Android 錯誤?

現在在本節中,我們將討論NET::ERR_CLEARTEXT_NOT_PERMITTED錯誤的故障排除。 為此,如果您是 Android 開發人員,您將需要存取您的 Android 應用程式。

  • 透過修改 Androidmanifest.xml 啟用明文流量
  • 使用“network_security_config.Xml”將特定網站列入白名單
  • Nginx 的 HTTP 到 HTTPS 重新導向
  • 強制您的 WordPress 網站使用 HTTPS
  • 在現代瀏覽器中載入網站

1.透過修改Androidmanifest.xml啟用明文流量

您可以遵循的第一個故障排除方法是透過修改 androidmanifest.xml 檔案來啟用明文流量。 每個 Android 應用程式都有一個 Androidmanifest.xml 文件,其中包含 Android 作業系統和其他 Android 平台所需的與應用程式相關的所有資訊。

這種特殊方法繞過了 Google 嚴格的 HTTPS 準則,因此它可以是一個臨時解決方案,除非您嘗試載入的網站已轉移到加密流量。

若要啟用或允許清除流量,您只需在「<application>」標籤中新增「android:usescleartexttraffic」屬性並將其值設為「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」將特定網站列入白名單

除了您在之前的方法中看到的內容之外。 此解決方案的重點是允許明文流量傳輸到您信任的特定網域。

與前一種方法相比,這種方法非常安全,它只允許您連結安全網頁以載入到 Android 應用程式的 webview 上。

您應該記住的一件事是,您只能嘗試這兩種方法之一,要么為所有網站或應用程式啟用明文流量,要么僅允許特定的網域或應用程式。
如果安全是您最關心的問題,那麼您最好遵循以下方法:

您需要做的第一件事是建立一個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>

這將只允許特定網域使用明文。 但是,您可以使用「網域包含子網域」元素新增多個網域或 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 網頁了。


閱讀:修復 NET::ERR_CERT_DATE_INVALID 錯誤的 12 種最佳方法


3. Nginx 的 HTTP 到 HTTPS 重新導向

如果您希望 Nginx Web 伺服器不在 WebViw 上顯示錯誤訊息「 NET::ERR_CLEARTEXT_NOT_PERMITTED 」。 您可以強制它們使用 HTTPS 並在伺服器和客戶端之間建立安全連線。

為此,請按照以下步驟操作:

  • 首先,您需要按照下列路徑之一開啟網站的 Nginx 設定檔:/etc/nginx/conf.d 或 etc/nginx/nginx.conf。
  • 尋找顯示您網站名稱的伺服器區塊並插入以下程式碼行。

<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錯誤,您可以遵循的最安全且強烈建議的方法之一是強製或配置使用 HTTP 而不是 HTTPS 的網站。 甚至 Google 搜尋引擎也將安全網站視為 SERP 中的主要排名因素之一。

您可以查看我們關於此重定向技術的專門博客,只需遵循您選擇的任何方法即可消除 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤。

  • WordPress 重新導向 URL 是如何運作的? 5 種最佳方法
  • WordPress 中 HTTP 到 HTTPS 遷移的完整指南

5. 在現代瀏覽器中載入網站

如果以上方法都不適合你,或是你懶得遵循以上方法。 只需在您擁有的任何現代瀏覽器(即 Chrome 或 Firefox)中造訪網站或網域即可。

然而,如今,如果您嘗試在這些瀏覽器上載入 HTTP 網站,您可能會在網址列中遇到「連接,非私有」錯誤訊息或「連接不安全標誌」。

但這並不意味著您不會遇到NET::ERR_CLEARTEXT_NOT_PERMITTED Samsung error ,但您仍然面臨安全風險,並且您在網站上共享的任何資料仍然是明文形式。

因此,您應避免向使用 HTTP 的網站共享或提供任何個人詳細資訊的敏感資訊。 這就是谷歌預設禁用它的主要原因。


閱讀:如何修復 NET::ERR_CERT_AUTHORITY_INVALID 錯誤? (10 個解決方案)


什麼是 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤?

NET::ERR_CLEARTEXT_NOT_PERMITTED 是當 Android 應用程式嘗試載入未加密或 HTTP 資訊時,Android 系統 Web 檢視中顯示的錯誤訊息。

您不應將此錯誤誤解為任何技術故障或問題。 令人驚訝的是,當您嘗試在任何網頁瀏覽器上加載相同的 URL 或加載相同的資訊時。 您可能不會遇到任何錯誤。

由於 NET::ERR_CLEARTEXT_NOT_PERMITTED 顯示在 Android 應用程式內部,因此您也可能誤解 Android 應用程式本身有問題。 但是,您可以輕鬆繞過或修復此錯誤。

大多數可用的解決方案適用於 Android 開發人員和 Web 管理員。 但如果您是最終用戶,除了在 Web 瀏覽器上載入 URL 之外,您只能遵循少數故障排除方法。


什麼是 Android 網頁視圖?

如果您是最終用戶,您可能不了解 Android Web 視圖。 讓我們幫助您使其易於理解。

它是 Android 作業系統的特殊功能,可協助您在 Android 應用程式中載入網頁,而無需使用外部瀏覽器。 還允許開發人員創建結合了本機功能和基於 Web 功能的混合應用程式。

除了所有這些功能之外,您會發現 Web 視圖的唯一缺點是您無法獲得在瀏覽器中獲得的功能數量。

NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤特定於使用 Web 視圖的 Android 應用程式。 透過瀏覽器(即 Chrome 或 Firefox)瀏覽網站時,您不會收到此類錯誤。

但是,如果您造訪不安全的網站或 PHP 建立的網站,您可能會遇到不同類型的錯誤「您的連線不是私有錯誤」。


是什麼導致 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤?

出現NET::ERR_CLEARTEXT_NOT_PERMITTED錯誤是因為您的 Android 應用程式嘗試透過明文載入未加密的 Web 內容。 但從 Android 版本 9 (Pie) 開始,Google已在其預設配置中停用了這種未加密資料的傳輸或 HTTP 網頁的載入。

現在,此配置僅適用於使用 Android View 的應用程式。 這就是為什麼即使在 Android 作業系統中,但在 Android 應用程式中,您也不會在瀏覽器上遇到此錯誤的主要原因。

谷歌強制執行此規定的全部目的是為用戶創造一個安全的環境,以保護他們的敏感資訊免受第三方侵害。 Google 鼓勵 Android 開發人員在其 Web 視圖中僅提供 HTTPS 相容的網站,而不是不安全的 HTTP 連線。 因為 HTTPS 具有多種優點,例如:

  • 增強 Android 應用程式的安全性
  • 信任與用戶信心
  • 資料的完整性
  • 驗證
  • 搜尋引擎優化的好處
  • 用戶保密等等。

概括

如果您在 Android 的 App Webview 中遇到 NET::ERR_CLEARTEXT_NOT_PERMITTED 錯誤,則僅表示該應用程式正在嘗試載入不安全的 HTTP 網站。 出於安全原因,Google 已啟用封鎖此類可能危及用戶敏感資訊的不安全網站。

如果您是 Android 開發者或網站管理員,請按照以下方法操作:

  • 透過修改 Androidmanifest.xml 啟用明文流量
  • 使用“network_security_config.Xml”將特定網站列入白名單
  • Nginx 的 HTTP 到 HTTPS 重新導向
  • 強制您的 WordPress 網站使用 HTTPS
  • 在現代瀏覽器中載入網站

如果您對這篇文章有任何疑問或建議,請在下面的評論部分告訴我們。


經常問的問題

Err_cleartext_not_permissed 是什麼意思?

NET::ERR_CLEARTEXT_NOT_PERMITTED 是當 Android 應用程式嘗試載入未加密或 HTTP 資訊時,Android 系統 Web 檢視中顯示的錯誤訊息。

什麼是 Android 上不允許明文的錯誤?

當您的應用程式嘗試透過不安全的 HTTP 連線(明文)而不是安全的 HTTPS 連線發出網路請求時,Android 上的「不允許明文」錯誤通常會發生。 此錯誤是 Android 中引入的安全功能,旨在鼓勵開發人員使用安全連接透過網路傳輸資料。

如何修復 err_cleartext_not_permissed Android

如果您是 Android 開發者或網站管理員,請按照以下方法操作:
1.透過修改Androidmanifest.xml啟用明文流量
2. 使用「network_security_config.Xml」將特定網站列入白名單
3. Nginx 的 HTTP 到 HTTPS 重新導向
4. 強制您的 WordPress 網站使用 HTTPS
5. 在現代瀏覽器中載入網站