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 웹뷰란 무엇인가요?
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 앱에는 Android 운영 체제 및 기타 Android 플랫폼에 필요한 앱과 관련된 모든 정보가 포함된 Androidmanifest.xml 파일이 있습니다.

이 특정 방법은 Google의 엄격한 HTTPS 지침을 우회하므로 로드하려는 웹사이트가 암호화된 트래픽으로 이동되지 않는 한 임시 솔루션이 될 수 있습니다.

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 앱의 웹 보기에 보안되지 않은 트래픽을 허용하기 때문입니다. 이로 인해 사용자의 민감한 정보가 제3자에게 노출될 수 있습니다. 따라서 이 방법은 테스트 또는 개발 목적에 가장 적합합니다.


2. “network_security_config.Xml”을 사용하여 특정 웹사이트를 화이트리스트에 추가

이전 방법에서 본 것과는 별도로. 이 솔루션은 신뢰하는 특정 도메인에 대한 일반 텍스트 트래픽을 허용하는 데 중점을 둡니다.

이전 방법과 비교할 때 이 방법은 매우 안전하며 보안 웹페이지를 연결하여 Android 앱의 웹 보기에 로드할 수만 있습니다.

명심해야 할 한 가지는 모든 웹사이트나 앱에 대해 일반 텍스트 트래픽을 활성화하거나 특정 도메인이나 앱만 허용하는 두 가지 방법 중 하나만 시도할 수 있다는 것입니다.
보안이 가장 큰 관심사라면 아래 언급된 방법을 따르는 것이 좋습니다.

가장 먼저 해야 할 일은 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 웹 서버가 WebViw에 " NET::ERR_CLEARTEXT_NOT_PERMITTED " 오류 메시지를 표시하지 않도록 하려는 경우. HTTPS를 사용하고 서버와 클라이언트 간에 보안 연결을 설정하도록 강제할 수 있습니다.

이를 가능하게 하려면 아래 단계를 따르십시오.

  • 먼저 /etc/nginx/conf.d 또는 etc/nginx/nginx.conf 경로 중 하나를 따라 웹 사이트에 대한 Nginx 구성 파일을 열어야 합니다.
  • 웹사이트 이름이 표시된 서버 블록을 찾아 다음 코드 줄을 삽입하세요.

<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 오류에 대해 가장 안전하고 권장되는 방법 중 하나는 HTTPS 대신 HTTP를 사용하는 웹 사이트를 강제로 구성하거나 구성하는 것입니다. Google 검색 엔진조차도 보안 웹사이트를 SERP의 주요 순위 요소 중 하나로 간주합니다.

이 리디렉션 기술에 대한 전용 블로그를 확인할 수 있습니다. 원하는 방법을 따르고 NET::ERR_CLEARTEXT_NOT_PERMITTED 오류를 제거하세요.

  • WordPress 리디렉션 URL은 어떻게 작동하나요? 5가지 최선의 방법
  • WordPress의 HTTP에서 HTTPS로 마이그레이션에 대한 전체 가이드

5. 최신 브라우저에서 웹사이트 로드

위의 방법 중 어느 것도 효과가 없거나 위의 방법을 따를 만큼 게으른 경우. 가지고 있는 최신 브라우저(예: Chrome 또는 Firefox)에서 웹사이트나 도메인에 액세스하세요.

그러나 요즘에는 이러한 브라우저에서 HTTP 웹사이트를 로드하려고 하면 주소 표시줄에 "비공개 연결이 아닌 연결" 오류 메시지나 "연결이 보안되지 않음"이라는 오류 메시지가 나타날 수 있습니다.

하지만 이것이 NET::ERR_CLEARTEXT_NOT_PERMITTED Samsung 오류 에서 자유롭다는 의미는 아니지만 여전히 보안 위험에 노출되어 있으며 웹 사이트에서 공유하는 모든 데이터는 여전히 일반 텍스트로 유지됩니다.

따라서 HTTP를 사용하는 웹사이트에 개인 정보에 대한 민감한 정보를 공유하거나 제공하는 것을 피해야 합니다. 이것이 Google이 기본적으로 이 기능을 비활성화한 주된 이유입니다.


읽기: NET::ERR_CERT_AUTHORITY_INVALID 오류를 수정하는 방법은 무엇입니까? (10개 솔루션)


NET::ERR_CLEARTEXT_NOT_PERMITTED 오류란 무엇입니까?

NET::ERR_CLEARTEXT_NOT_PERMITTED는 Android 앱이 암호화되지 않은 정보 또는 HTTP 정보를 로드하려고 할 때 Android 시스템 Webview에 표시되는 오류 메시지입니다.

이 오류를 기술적 결함이나 문제로 오해해서는 안 됩니다. 놀랍게도 동일한 URL을 로드하거나 웹 브라우저에서 동일한 정보를 로드하려고 할 때. 오류가 발생하지 않을 수도 있습니다.

NET::ERR_CLEARTEXT_NOT_PERMITTED가 안드로이드 앱 내부에 표시되기 때문에 안드로이드 앱 자체에 문제가 있다고 오해할 수도 있습니다. 그러나 이 오류를 쉽게 우회하거나 수정할 수 있습니다.

사용 가능한 대부분의 솔루션은 Android 개발자와 웹 관리자를 위한 것입니다. 그러나 최종 사용자라면 웹 브라우저에서 URL을 로드하는 것 외에 몇 가지 문제 해결 방법만 따를 수 있습니다.


Android 웹뷰란 무엇인가요?

최종 사용자라면 Android 웹 보기에 대해 전혀 모를 수도 있습니다. 쉽게 이해할 수 있도록 도와드리겠습니다.

외부 브라우저를 사용하지 않고도 Android 앱 내에서 웹페이지를 로드할 수 있도록 도와주는 Android OS의 특수 기능입니다. 또한 개발자는 기본 기능과 웹 기반 기능이 모두 결합된 하이브리드 애플리케이션을 만들 수 있습니다.

이러한 모든 기능 외에도 웹 보기의 유일한 단점은 브라우저에서 얻을 수 있는 기능의 양을 얻을 수 없다는 것입니다.

NET::ERR_CLEARTEXT_NOT_PERMITTED 오류는 웹 보기를 사용하는 Android 앱에만 해당됩니다. 브라우저(예: Chrome 또는 Firefox)를 통해 웹사이트를 탐색하는 동안에는 이러한 오류가 발생하지 않습니다.

그러나 보안되지 않은 웹사이트나 PHP로 구축된 웹사이트를 방문하는 경우 "연결이 비공개 오류가 아닙니다"라는 다른 유형의 오류가 발생할 수 있습니다.


NET::ERR_CLEARTEXT_NOT_PERMITTED 오류의 원인은 무엇입니까?

NET::ERR_CLEARTEXT_NOT_PERMITTED 오류는 Android 앱이 일반 텍스트를 통해 암호화되지 않은 웹 콘텐츠를 로드하려고 했기 때문에 나타났습니다. 그러나 Android 버전 9(Pie)부터 Google은 기본 구성에서 암호화되지 않은 데이터 전송이나 HTTP 웹페이지 로드를 비활성화했습니다.

이제 이 구성은 Android View를 사용하는 애플리케이션에만 적용됩니다. 이것이 Android OS의 브라우저에서도 Android 앱 내에서는 이 오류가 발생하지 않는 주된 이유입니다.

Google이 이를 시행하는 목적은 사용자가 제3자로부터 자신의 민감한 정보를 보호할 수 있는 안전한 환경을 만드는 것입니다. Google은 Android 개발자가 안전하지 않은 HTTP 연결 대신 웹 보기에 HTTPS 호환 웹사이트만 제공하도록 권장합니다. HTTPS에는 다음과 같은 다양한 이점이 있기 때문에

  • Android 앱의 보안 강화
  • 신뢰와 사용자 신뢰
  • 데이터 무결성
  • 입증
  • SEO 혜택
  • 사용자에 대한 기밀 유지 및 그 이상.

요약

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_permitted은(는) 무슨 뜻인가요?

NET::ERR_CLEARTEXT_NOT_PERMITTED는 Android 앱이 암호화되지 않은 정보 또는 HTTP 정보를 로드하려고 할 때 Android 시스템 Webview에 표시되는 오류 메시지입니다.

Android에서 일반 텍스트가 허용되지 않음 오류는 무엇입니까?

Android에서 '일반 텍스트가 허용되지 않음' 오류는 일반적으로 앱이 보안 HTTPS 연결이 아닌 안전하지 않은 HTTP 연결(일반 텍스트)을 통해 네트워크 요청을 시도할 때 발생합니다. 이 오류는 개발자가 네트워크를 통해 데이터를 전송하기 위해 보안 연결을 사용하도록 권장하기 위해 Android에 도입된 보안 기능입니다.

err_cleartext_not_permitted Android를 수정하는 방법

Android 개발자이거나 웹사이트 관리자인 경우 아래 방법을 따르세요.
1. Androidmanifest.xml을 수정하여 일반 텍스트 트래픽을 활성화합니다.
2. “network_security_config.Xml”을 사용하여 특정 웹사이트를 화이트리스트에 추가
3. Nginx의 HTTP에서 HTTPS로 리디렉션
4. WordPress 사이트에서 HTTPS를 사용하도록 강제하기
5. 최신 브라우저에서 웹사이트 로드