먼저 루프백 액세스 제한이 원인인지 확인하세요

브라우저에서는 Clash를 통해 웹페이지가 열리지만 Microsoft Store는 계속 로딩되거나 네트워크 오류가 발생한다면, 앱이 로컬 프록시에 연결하지 못하는 것이 원인일 수 있습니다. Windows 10과 Windows 11에서는 AppContainer 네트워크 격리가 적용된 앱이 일반 데스크톱 프로그램처럼 로컬 루프백 서비스에 기본적으로 접근할 수 없습니다. 시스템 프록시에 127.0.0.1이 설정되어 있어도 해당 앱에 접근 권한이 부여된 것은 아닙니다.

여기서 말하는 ‘루프백’은 앱이 같은 컴퓨터에서 실행되는 서비스에 연결하는 것을 뜻합니다. 예를 들어 127.0.0.1:7890에 연결하는 경우입니다. 루프백 예외는 지정한 앱 패키지에 적용된 이 제한만 해제합니다. Clash를 실행하거나 노드를 선택하지 않으며, 앱의 프록시 주소를 설정해 주지도 않습니다.

설정 전에 확인할 세 가지

  1. 클라이언트가 정상 작동하는지 확인: 유효한 설정을 적용하고 사용 가능한 정책을 선택한 다음 시스템 프록시를 켜고 브라우저에서 대상 서비스에 접속하세요. 브라우저에서도 연결되지 않으면 설정, 노드 또는 네트워크 문제부터 해결해야 합니다.
  2. 로컬 프록시 포트 확인: 클라이언트에서 ‘포트’ 또는 ‘혼합 포트’ 설정을 확인하세요. 여기서는 7890을 예로 들지만 실제 포트는 다를 수 있습니다. HTTP 프록시는 HTTP 포트나 HTTP를 지원하는 혼합 포트로 지정해야 하며, SOCKS만 지원하는 포트를 잘못 입력하면 안 됩니다.
  3. 테스트 조건을 하나로 맞추기: 먼저 시스템 프록시만 사용해 테스트하고 다른 VPN이나 프록시 클라이언트는 잠시 종료하세요. TUN이 켜져 있다면 트래픽 경로를 구분할 수 있도록 잠시 꺼 두세요. 회사 관리 기기에서는 조직에서 요구하는 네트워크 설정을 임의로 변경하지 마세요.

Windows 11에서는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’ → ‘프록시 서버 사용’ → ‘편집’에서 주소와 포트를 확인할 수 있습니다. Windows 10에서는 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’의 수동 프록시 설정을 확인하세요. 클라이언트가 자동으로 관리하는 경우에는 클라이언트에서 포트를 수정하는 것이 좋습니다. 그렇지 않으면 다음에 스위치를 전환할 때 설정이 덮어써질 수 있습니다.

방법 1: 클라이언트 내장 UWP 도구 사용

일부 Windows용 Clash GUI 클라이언트에는 앱 루프백 관리 기능이 있습니다. ‘UWP 루프백 예외’, ‘UWP 도구’, ‘Loopback’ 등의 이름으로 표시될 수 있습니다. 이는 클라이언트 인터페이스에서 제공하는 보조 기능이지, Clash나 mihomo 코어의 공통 YAML 옵션이 아닙니다. 클라이언트와 버전에 따라 메뉴 위치가 다를 수 있으며, 해당 버튼이 없어도 아래의 Windows 명령을 사용할 수 있습니다.

  1. 클라이언트의 ‘설정’을 열고 ‘UWP’ 또는 ‘루프백 예외’ 관련 도구를 찾으세요. 구버전 Clash for Windows에는 ‘General’ → ‘UWP Loopback’ 메뉴의 ‘Launch’ 버튼이 있었습니다. 이는 이전 인터페이스의 위치를 안내하는 참고 정보일 뿐, 이 기능을 위해 구버전 클라이언트를 설치할 필요는 없습니다.
  2. 도구를 실행할 때 Windows 사용자 계정 컨트롤 창을 확인하고, 관리자 권한으로 루프백 목록을 수정할 수 있도록 허용하세요. 계정에 필요한 권한이 없다면 기기 관리자에게 도움을 요청해야 합니다.
  3. 앱 목록에서 Microsoft Store를 찾아 이번에 문제를 확인할 앱만 선택하세요. 도구에 저장 버튼이 있다면 ‘Save Changes’ 또는 이에 해당하는 ‘변경 내용 저장’을 클릭하세요. 앱을 선택한 뒤 창을 닫는 것만으로는 변경 사항이 저장되지 않을 수 있습니다.
  4. 대상 앱을 완전히 종료한 뒤 다시 실행하고, 앞서 실패한 작업을 다시 시도하세요. 앱이 백그라운드에서 계속 실행 중이라면 작업 관리자에서 해당 앱의 프로세스임을 확인한 후 종료하고 다시 시도할 수 있습니다.

간편하다는 이유로 모든 앱을 선택하는 것은 권장하지 않습니다. 예외를 설정하면 선택한 앱이 로컬 서비스에 연결할 수 있으므로 실제 필요한 앱만 허용해야 합니다. 도구 목록에 대상 앱이 없다면 현재 Windows 사용자 계정에 설치되어 있는지 먼저 확인한 뒤 PowerShell에서 패키지 식별자를 조회하세요. 표시 이름만 보고 패키지 이름을 추측해 입력하지 마세요.

방법 2: CheckNetIsolation으로 예외 추가

CheckNetIsolation.exe는 Windows에 기본 포함된 네트워크 격리 관리 도구이므로 별도 설치가 필요하지 않습니다. 아래 명령은 관리자 권한으로 실행한 PowerShell 또는 Windows 터미널의 PowerShell 탭에서 실행하세요. 먼저 목록을 확인하고 예외를 추가한 다음 다시 확인하면 변경 사항이 제대로 적용됐는지 알 수 있습니다.

1. 현재 사용자 계정에 설치된 앱 패키지 조회

시작 버튼을 마우스 오른쪽 버튼으로 클릭하고 ‘터미널(관리자)’ 또는 ‘Windows PowerShell(관리자)’를 선택하세요. 다음 명령을 입력해 Microsoft Store의 패키지 패밀리 이름을 찾습니다.

Get-AppxPackage -Name Microsoft.WindowsStore |
  Select-Object Name, PackageFamilyName

일반적인 Microsoft Store 패키지는 Microsoft.WindowsStore_8wekyb3d8bbwe로 표시됩니다. 조회 결과의 PackageFamilyName을 사용하세요. 버전과 아키텍처가 포함된 PackageFullName은 사용하지 마세요. 패키지 패밀리 이름은 앱 계열을 식별하므로 앱을 업데이트할 때마다 직접 바꿀 필요가 없습니다.

다른 앱을 찾으려면 먼저 현재 사용자 계정의 패키지 목록을 표시한 다음 이름으로 확인하세요.

Get-AppxPackage |
  Sort-Object Name |
  Select-Object Name, PackageFamilyName

2. 현재 목록 확인 후 Microsoft Store 추가

CheckNetIsolation.exe LoopbackExempt -s
CheckNetIsolation.exe LoopbackExempt -a -n="Microsoft.WindowsStore_8wekyb3d8bbwe"
CheckNetIsolation.exe LoopbackExempt -s
  • -s: 현재 루프백 예외 목록을 표시합니다. 작업 전후의 변경 사항을 확인할 때 사용하세요.
  • -a: 예외 항목을 추가합니다. -n 뒤에는 실제 앱 패키지 패밀리 이름을 입력하세요.
  • 명령이 완료되었다고 표시되더라도 마지막으로 목록을 조회해 해당 항목이 있는지 확인한 다음 앱을 다시 실행해 테스트하세요.

추가할 때 ‘액세스가 거부되었습니다’라는 오류가 나오면 터미널이 실제로 관리자 권한으로 실행 중인지 확인하세요. 패키지 이름이나 매개변수 오류가 발생하면 조회 결과를 다시 확인하고 영문 반각 따옴표와 하이픈을 사용하세요. 웹페이지의 둥근 따옴표를 명령에 복사하거나 앱의 한글 표시 이름을 패키지 패밀리 이름으로 입력하면 안 됩니다.

3. 더 이상 필요하지 않은 예외 항목 삭제

CheckNetIsolation.exe LoopbackExempt -d -n="Microsoft.WindowsStore_8wekyb3d8bbwe"
CheckNetIsolation.exe LoopbackExempt -s

-d는 지정한 항목을 삭제합니다. 앱 하나를 테스트하려고 예외를 추가했다면 테스트가 끝난 뒤 필요에 따라 삭제할 수 있습니다. 다른 앱에 이미 설정된 예외는 그대로 두세요. 스토어 오류 하나를 해결하려고 목록 전체를 지우지 마세요.

트래픽 확인: 프록시 미연결과 규칙에 따른 직접 연결 구분

예외 추가에 성공했다는 것은 격리 설정이 변경되었다는 뜻일 뿐, 모든 요청이 프록시 노드를 거친다는 의미는 아닙니다. 클라이언트의 ‘연결’ 페이지로 돌아가 스토어를 다시 로드하고 대상 도메인, 연결 기록, 최종 적용 정책을 확인하세요. 필요하다면 ‘로그’ 페이지에서 로그 수준을 잠시 높여 문제를 한 번 재현한 뒤 원래대로 돌리세요. 진단 정보가 장시간 쌓이지 않도록 주의하세요.

확인 결과 우선 확인할 항목 다음 단계
브라우저와 스토어 모두 연결되지 않음 로컬 수신 포트, 설정, 노드 기본 프록시 연결을 먼저 복구한 뒤 루프백 제한을 확인하세요
브라우저는 연결되지만 스토어 연결 기록이 없음 패키지 이름, 예외 설정, 시스템 프록시, 앱 네트워크 스택 목록을 다시 확인하고 앱을 재시작하세요. 기록이 없더라도 캐시 문제이거나 요청이 발생하지 않았을 수 있습니다
연결은 표시되지만 정책이 DIRECT임 규칙 적용 결과 규칙 순서를 확인하고 직접 연결이 의도한 동작인지 점검하세요
프록시 정책을 선택했는데도 시간 초과 발생 노드, DNS, 대상 서비스 사용 가능한 노드로 바꾸고 로그를 비교하세요. 같은 예외를 반복해서 추가하지 마세요
스토어 페이지는 열리지만 다운로드 작업 실패 다운로드 관련 서비스와 별도의 네트워크 경로 구체적인 오류 코드를 확인하세요. 루프백 문제라고 바로 단정할 수 없습니다

Clash와 mihomo는 일반적으로 규칙을 위에서 아래로 확인하고, 일치하는 규칙의 정책을 적용합니다. 앱의 트래픽이 로컬 프록시에 도달하더라도 DIRECT 규칙이 적용되면 대상에 직접 연결됩니다. 이는 ‘프록시에 연결되지 않음’과는 다른 상황입니다. 앱 하나의 문제를 해결하려고 전역 모드를 계속 사용하거나 구독의 규칙을 통째로 덮어쓰지 마세요.

TUN, WinHTTP, 시스템 프록시는 서로 다릅니다

TUN은 루프백 예외와 같은 기능이 아닙니다

시스템 프록시는 주로 해당 설정을 따르는 앱에서 사용합니다. TUN 모드는 가상 네트워크 어댑터와 라우팅을 통해 조건에 맞는 트래픽을 처리합니다. mihomo 클라이언트에서 TUN을 사용하려면 서비스 권한, 자동 라우팅, DNS 설정도 관련됩니다. 특정 앱에서 TUN을 켠 뒤 연결이 복구되었다면 트래픽 경로가 달라진 것입니다. 루프백 목록이 자동으로 수정되었다는 뜻은 아닙니다.

TUN을 별도의 테스트 경로로 사용할 수 있지만, 한 번에 설정 하나만 변경하세요. 시스템 프록시가 로컬 루프백 주소를 가리키고 있다면 격리된 앱이 해당 주소에 접근할 때 여전히 예외 설정이 필요할 수 있습니다. TUN만 켜면 모든 UWP 문제가 해결된다고 보장할 수는 없습니다.

시스템 프록시를 모든 서비스에 바로 적용하지 마세요

일부 Windows 서비스는 WinHTTP를 사용하며, WinHTTP 프록시 설정은 현재 사용자 계정의 시스템 프록시와 별개입니다. 아래 읽기 전용 명령으로 상태를 확인할 수 있지만, ‘직접 액세스’라는 결과만으로 설정 오류라고 볼 수는 없습니다. 또한 이를 근거로 스토어가 반드시 이 네트워크 경로를 사용한다고 단정할 수도 없습니다.

netsh winhttp show proxy

WinHTTP 설정을 일괄 변경하거나 네트워크를 초기화하고 방화벽을 끄는 작업을 루프백 예외 설정의 필수 절차로 여기지 마세요. 이런 작업은 시스템 서비스, 기업 관리 기능, 다른 소프트웨어에 영향을 줄 수 있으므로 구체적인 장애 원인을 확인한 뒤 별도로 처리해야 합니다.

문제가 계속될 때 마지막으로 확인할 사항

  • 서비스 상태 확인: Windows의 날짜, 시간, 시간대가 올바른지 확인하고 계정 로그인 상태와 대상 서비스의 정상 작동 여부를 점검하세요. 앱에 ‘네트워크 오류’가 표시되어도 로컬 프록시 문제라고 단정할 수는 없습니다.
  • 스토어 캐시 초기화: Microsoft Store에서만 문제가 발생한다면 Win + R을 누르고 wsreset.exe를 실행한 뒤 다시 시도하세요. 이 명령은 스토어 캐시를 처리하며 루프백 예외를 대신 설정하거나 사용할 수 없는 노드를 복구하지는 않습니다.
  • 앱 지원 종료 여부 확인: 구버전 Windows 메일 및 일정 앱은 2024년 12월 31일에 지원이 종료되었습니다. 이 글의 작성일 기준으로 구버전 클라이언트가 정상 작동하지 않는 원인을 루프백 제한으로만 볼 수는 없습니다. 사용 중인 앱이 구버전 메일인지 새 Outlook인지 확인한 다음 해당 제품에 맞게 문제를 해결하세요.
  • 필요한 진단 정보만 보관: Windows 버전, 클라이언트 이름, 로컬 포트, 앱 패키지 패밀리 이름, 오류 코드, 문제가 발생한 시간을 기록하세요. 로그를 공유하기 전에는 구독 링크, 토큰, 계정 정보를 삭제하세요.

권장 순서는 일반 앱의 프록시 연결 확인, 시스템 프록시 주소 확인, 대상 앱에 개별 예외 추가, 앱 재시작, 연결 기록을 통한 규칙 및 노드 확인입니다. 각 단계에서 확인할 항목이 명확하므로 일반적인 UWP 루프백 제한에 대응하면서 스토어 캐시, 서비스 네트워크, 지원이 종료된 앱 문제를 하나의 원인으로 혼동하지 않을 수 있습니다.