Windows 스토어 앱에서 Clash 프록시가 작동하지 않을 때: UWP 루프백 제한 해제 방법

Microsoft Store 앱이 기본적으로 로컬 127.0.0.1 프록시 포트에 연결하지 못하는 이유와 Clash의 UWP Loopback 도구, 수동 허용 방법 및 적용 후 확인 절차를 안내합니다.

먼저 UWP 루프백 제한이 원인인지 확인

일반적인 증상은 브라우저, Git, 메신저는 이미 Clash를 통해 인터넷에 연결되지만 Microsoft Store에는 계속 ‘다시 시도’가 표시되거나 페이지 이미지가 제대로 로드되지 않고, 앱 다운로드가 ‘라이선스 가져오는 중’에서 오랫동안 멈추는 것입니다. 같은 PC의 Xbox, 사진, 메일 등 일부 스토어 앱도 연결에 실패할 수 있습니다. 이때 Clash 연결 패널에는 브라우저 트래픽만 보이고 해당 스토어 앱의 연결은 나타나지 않습니다.

이러한 차이는 대개 노드 속도 때문이 아닙니다. 기존 Win32 프로그램은 로컬 리스닝 주소에 직접 연결할 수 있지만, AppContainer 네트워크 격리 모델을 사용하는 UWP 또는 스토어 앱은 기본적으로 루프백 액세스 제한을 받습니다. Clash의 시스템 프록시는 보통 127.0.0.1:7890 같은 로컬 주소를 가리킵니다. 앱이 이 프록시를 사용하려면 먼저 로컬 루프백 인터페이스에 연결해야 합니다. Windows가 이 단계에서 연결을 차단하면 요청은 Clash에 도달하지 않으므로 연결 기록에도 나타나지 않습니다.

빠르게 확인할 세 가지 조건

  1. Clash가 실행 중이고 현재 구성에 사용 가능한 노드가 하나 이상 있으며, 브라우저에서 웹페이지가 정상적으로 열립니다.
  2. 클라이언트에서 시스템 프록시가 활성화되어 있고 Windows 프록시 주소가 127.0.0.1을 가리키며, 포트가 Clash의 실제 리스닝 포트와 일치합니다.
  3. Microsoft Store 새로 고침에 실패할 때 Clash의 ‘연결’ 또는 ‘로그’ 페이지에 해당 요청이 새로 기록되지 않습니다.

세 조건이 모두 충족되면 Loopback Exempt, 즉 지정한 앱에 로컬 루프백 액세스 예외를 추가하는 작업을 진행할 수 있습니다. 이 설정은 해당 AppContainer가 로컬 주소에 연결할 수 있는지만 변경하며, 프록시 규칙을 대신하거나 노드를 자동으로 선택하지는 않습니다. 최종 트래픽은 Clash의 현재 규칙 모드, 프록시 그룹 및 DNS 설정에 따라 처리됩니다.

루프백 제한이 로컬 Clash 포트를 차단하는 이유

Windows 스토어 앱은 일반적으로 앱 ID가 부여된 격리 컨테이너에서 실행됩니다. 시스템은 앱 패키지 ID에 따라 네트워크 권한을 부여하고 컨테이너가 로컬 루프백 주소에 직접 연결하는 것을 제한합니다. 이는 앱과 로컬 서비스를 격리하여 127.0.0.1에서 실행 중인 포트를 앱이 임의로 탐색하지 못하게 하기 위한 설계입니다.

Clash의 HTTP, SOCKS 또는 mixed-port 리스너는 바로 이러한 로컬 서비스입니다. 흔히 혼합 포트를 7890으로 설정합니다.

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

시스템 프록시를 켜면 Windows는 시스템 프록시를 지원하는 요청을 127.0.0.1:7890으로 전달합니다. 일반 데스크톱 프로그램은 이 로컬 연결을 만들 수 있지만, 제한된 AppContainer는 포트에 도달하기 전에 시스템에서 거부될 수 있습니다. 따라서 노드 지연 시간이 45ms에 불과해도 Microsoft Store가 로드되지 않을 수 있으며, Clash 로그에도 완전한 프록시 핸드셰이크가 한 번도 기록되지 않습니다.

확인 위치 정상 결과 이상 징후의 의미
브라우저 인터넷 연결 웹페이지가 정상적으로 열림 Clash 기본 연결 경로에 여전히 문제가 있음
로컬 리스닝 포트 127.0.0.1:7890이 리스닝 중 포트 설정 또는 클라이언트 실행에 문제가 있음
Clash 연결 패널 스토어 새로 고침 시 새 연결이 표시됨 기록이 전혀 없으면 루프백 제한을 우선 확인
규칙 일치 요청이 지정된 프록시 그룹으로 전달됨 Clash에 진입한 뒤 실패하면 규칙, DNS 또는 노드를 확인

루프백 예외가 해결하는 범위는 ‘앱이 로컬 프록시에 연결할 수 있는가’입니다. 구독 만료, 프록시 그룹 오선택, 규칙 오판정 또는 원격 노드 시간 초과까지 처리하지는 않습니다. 문제를 확인할 때 경로를 ‘앱 → 로컬 Clash 포트 → 프록시 규칙 → 노드 → 대상 서비스’로 나누면 노드만 반복해서 교체하며 실제 차단 지점을 놓치는 일을 줄일 수 있습니다.

Clash 클라이언트에 내장된 UWP Loopback 도구 사용

일부 Windows 그래픽 클라이언트는 UWP Loopback 관리 메뉴를 제공합니다. 내부적으로는 Windows의 루프백 예외 기능을 호출합니다. 클라이언트와 버전에 따라 메뉴 이름은 조금씩 다르며, 일반적인 경로는 ‘설정’ → ‘시스템 설정’ → ‘UWP Loopback’ 또는 ‘일반’ → ‘UWP 루프백’ → ‘도구 시작’입니다. 구버전 Clash for Windows에서는 보통 General 페이지에 메뉴가 있었고, 버튼 이름이 UWP Loopback으로 표시될 수 있습니다.

그래픽 인터페이스 설정 절차

  1. 먼저 Microsoft Store, Xbox 등 설정할 앱을 종료하여 기존 연결이 계속 점유되지 않도록 합니다.
  2. Clash 클라이언트를 열고 시스템 프록시가 켜져 있는지 확인한 다음, ‘설정’ → ‘포트 설정’에서 mixed-port 또는 HTTP 포트를 확인합니다.
  3. ‘설정’ → ‘시스템 설정’ → ‘UWP Loopback’으로 이동합니다. 클라이언트가 관리자 권한을 요구하면 승인하고 계속 진행합니다.
  4. 도구가 앱 패키지를 검색할 때까지 기다린 후 목록에서 Microsoft Store를 찾습니다. 패키지 ID에는 일반적으로 Microsoft.WindowsStore가 포함됩니다.
  5. Microsoft Store를 선택합니다. Xbox, 사진 또는 다른 스토어 앱에서도 같은 문제가 발생한다면 필요한 앱만 각각 선택합니다.
  6. ‘저장’, ‘적용’ 또는 ‘Save Changes’를 클릭하고 도구에서 설정 완료 메시지가 표시될 때까지 기다립니다.
  7. Microsoft Store를 다시 열어 아무 앱의 상세 페이지로 이동한 뒤 새로 고침하고, Clash 연결 패널을 확인합니다.

앱 목록에는 표시 이름이 비슷한 항목이 함께 나타날 수 있습니다. 판단할 때는 아이콘만 보지 말고 패키지 이름이나 Package Family Name을 우선 확인하세요. Microsoft Store의 일반적인 패키지 패밀리 이름은 Microsoft.WindowsStore_8wekyb3d8bbwe이고, Windows 앱 설치 관리자는 보통 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe입니다. 용도가 다르므로 문제가 발생한 앱만 허용해야 합니다.

저장 후에는 보통 Windows를 다시 시작할 필요가 없지만 대상 앱을 완전히 종료한 뒤 다시 열어야 합니다. Microsoft Store에 이전 상태가 계속 남아 있다면 작업 관리자에서 해당 프로세스를 종료한 후 다시 실행하세요. Win + R을 누르고 wsreset.exe를 실행해 스토어 캐시를 지울 수도 있습니다. 이 단계는 캐시와 화면 상태를 정리할 뿐 루프백 예외를 추가하지는 않습니다.

클라이언트에 메뉴가 없을 때 명령줄로 수동 허용

Windows에 포함된 CheckNetIsolation.exe로 AppContainer 루프백 예외를 확인, 추가 및 삭제할 수 있습니다. 수동 설정의 핵심은 정확한 Package Family Name을 확인하는 것이며, 앱 표시 이름만 명령에 입력해서는 안 됩니다.

1단계: Microsoft Store 패키지 패밀리 이름 조회

관리자 권한으로 PowerShell을 열고 다음 명령을 실행합니다.

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

일반적인 출력 예시는 다음과 같지만, 실제 결과는 현재 PC에서 확인해야 합니다.

Name              PackageFamilyName
----              -----------------
Microsoft.WindowsStore Microsoft.WindowsStore_8wekyb3d8bbwe

이름에 Xbox가 포함된 앱을 찾으려면 다음 명령을 사용할 수 있습니다.

Get-AppxPackage *Xbox* |
  Select-Object Name, PackageFamilyName

2단계: 루프백 예외 추가

패키지 패밀리 이름을 확인한 뒤 관리자 터미널에서 다음 명령을 실행합니다.

CheckNetIsolation.exe LoopbackExempt -a -n=Microsoft.WindowsStore_8wekyb3d8bbwe

-a는 추가를 의미하며, -n 뒤에는 완전한 Package Family Name을 입력해야 합니다. 명령이 성공하면 Microsoft Store를 종료했다가 다시 열어 테스트하세요.

3단계: 현재 예외 목록 확인

CheckNetIsolation.exe LoopbackExempt -s

출력 목록에서 방금 추가한 패키지 ID를 찾을 수 있어야 합니다. 대상 항목이 없다면 터미널 권한이 부족하거나 패키지 패밀리 이름을 잘못 입력했거나 복사 과정에서 불필요한 공백이 들어갔을 수 있습니다. PowerShell 조회 결과에서 다시 복사한 후 추가 명령을 실행하세요.

필요 없을 때 예외 삭제

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

-d는 삭제를 의미합니다. 변경 후 LoopbackExempt -s를 다시 실행하면 대상 항목이 삭제되었는지 확인할 수 있습니다. 루프백 예외는 앱 패키지 ID를 기준으로 저장됩니다. 앱 업데이트로 패키지 패밀리 이름이 바뀌는 경우는 드물지만, 앱을 삭제 후 재설치했거나 시스템을 이전했거나 앱 패키지 ID가 변경되었다면 목록을 다시 확인하는 것이 좋습니다.

허용 후 Microsoft Store가 Clash를 사용하는지 확인하는 방법

스토어 페이지가 다시 표시되는 것만으로는 트래픽 경로를 판단하기 어렵습니다. 페이지 콘텐츠가 캐시에서 제공되었을 수 있기 때문입니다. 앱 동작, Clash 연결 기록 및 규칙 일치 결과를 함께 관찰하는 것이 더 정확합니다.

확인 1: 연결 패널 관찰

  1. Clash 클라이언트의 ‘연결’ 페이지를 열고 기존 필터 조건을 모두 지웁니다.
  2. Microsoft Store를 완전히 종료한 다음 다시 엽니다.
  3. 이전에 열지 않았던 앱의 상세 페이지로 이동하여 스크린샷을 전환하거나 ‘업데이트 확인’을 클릭합니다.
  4. 연결 패널에 새 HTTPS 연결이 나타나는지 확인합니다. 대상 도메인은 Microsoft의 스토어, 라이선스, 콘텐츠 배포 또는 계정 서비스에 속할 수 있습니다.

요청이 나타났다면 UWP 앱이 최소한 로컬 Clash 포트에 액세스할 수 있다는 뜻입니다. 이제 해당 연결에 어떤 규칙과 프록시 그룹이 적용되었는지 확인해야 합니다. 연결이 DIRECT로 표시되는 것은 규칙 결과일 뿐 루프백 예외 실패를 의미하지 않습니다. 특정 도메인을 프록시로 통과시키려면 예외를 반복해서 추가하지 말고 현재 규칙 세트를 확인하세요.

확인 2: 포트와 시스템 프록시가 일치하는지 점검

PowerShell에서 자주 사용하는 7890 포트를 확인합니다.

Get-NetTCPConnection -LocalPort 7890 -State Listen

결과가 없다면 Clash의 ‘설정’ → ‘포트 설정’으로 돌아가 실제 mixed-port를 확인하세요. 일부 구성은 7897, 1080 또는 다른 포트를 사용합니다. Windows의 ‘설정’ → ‘네트워크 및 인터넷’ → ‘프록시’에서 주소와 포트가 클라이언트의 현재 리스닝 값과 일치해야 합니다. 포트 충돌로 Clash가 다른 값을 사용하게 되면 이전 시스템 프록시 설정 때문에 스토어 연결이 실패할 수도 있습니다.

확인 3: 재현 가능한 스토어 작업 수행

한 번 다운로드에 성공했다고 해서 해당 시점의 연결만 정상이라고 판단할 수 있습니다. 두 번 연속 테스트하고 Microsoft Store를 종료했다가 다시 연 후 한 번 더 확인하는 것이 좋습니다. 이렇게 하면 캐시, 기존 연결 및 일시적인 네트워크 복구로 인한 오판을 줄일 수 있습니다.

그래도 연결되지 않을 때는 정해진 순서로 점검

루프백 예외를 추가한 후에는 문제가 ‘앱이 로컬 포트에 액세스하지 못함’에서 Clash 내부 또는 상위 네트워크 문제로 이동하는 경우가 많습니다. 이때 같은 앱을 반복해서 선택하지 말고 다음 순서대로 각 계층을 확인하세요.

1. 구성과 포트가 적용 중인지 확인

2. 규칙 모드와 프록시 그룹 확인

규칙 모드는 대상 도메인을 하나씩 매칭합니다. Microsoft Store는 계정, 라이선스, 앱 메타데이터 및 콘텐츠 배포 등 여러 서비스를 사용하므로 하나의 도메인만으로 전체 결과를 판단할 수 없습니다. 연결 패널에 요청이 표시되면 Rule, Chains 또는 프록시 그룹 필드를 중점적으로 확인하세요. 규칙이 일부 서비스를 사용할 수 없는 노드로 보내면 스토어에서 이미지는 보이지만 다운로드가 실패할 수 있습니다.

임시 진단을 위해 대상 프록시 그룹을 지연 시간 약 50~150ms의 사용 가능한 노드로 바꾼 뒤 스토어 업데이트를 다시 시도할 수 있습니다. 전체 모드는 짧은 비교 테스트에 사용할 수 있지만, 테스트가 끝나면 일상적으로 사용하는 규칙 모드로 되돌려 구체적인 규칙을 계속 확인해야 합니다.

3. DNS 확인

연결이 이미 Clash에 도달했지만 로그에 도메인 확인 실패, 시간 초과 또는 비정상 주소가 나타난다면 DNS 설정을 확인해야 합니다. mihomo 코어를 사용할 때는 구성의 dns.enable, 리스닝 주소, nameserver 및 enhanced-mode가 서로 맞는지 확인하세요. Fake-IP를 활성화했다면 시스템 트래픽이 실제로 Clash를 통해 처리되는지도 확인해야 합니다. 앱이 다른 DNS 경로를 사용하면 이름 확인 결과와 연결 경로가 달라질 수 있습니다.

4. 방화벽과 보안 정책 확인

로컬 방화벽이 Clash 리스닝 포트를 차단하거나 앱 컨테이너의 네트워크를 제한할 수 있습니다. 먼저 현재 네트워크 프로필에서 Clash 본체와 사용 중인 코어가 실행될 수 있는지 확인한 뒤, 127.0.0.1:7890 또는 해당 프로세스를 차단하는 규칙이 있는지 살펴보세요. 회사 장비에서는 그룹 정책으로 Microsoft Store, 프록시 및 AppContainer 네트워크 권한을 관리할 수도 있으며, 이 경우 로컬 변경 사항이 정책에 의해 덮어써질 수 있습니다.

5. 시스템 프록시와 TUN 모드 구분

시스템 프록시 모드는 앱이 Windows 프록시 설정을 직접 읽는 방식이므로 UWP 루프백 예외와 로컬 프록시 포트가 직접 관련됩니다. TUN 모드는 가상 네트워크 인터페이스를 통해 더 많은 트래픽을 가로채 시스템 프록시를 따르지 않는 프로그램에 효과적입니다. mihomo TUN을 활성화하면 일부 스토어 앱이 기존 127.0.0.1 HTTP 프록시 경로에 의존하지 않을 수 있습니다.

하지만 TUN은 루프백 문제를 무조건 대체하는 방법이 아닙니다. 관리자 권한, 서비스 모드, 라우팅, DNS 하이재킹 및 방화벽 호환성도 함께 고려해야 합니다. 현재 Microsoft Store만 이상하고 다른 프로그램은 시스템 프록시를 통해 안정적으로 작동한다면 변경 범위가 작은 대상 앱의 Loopback Exempt 추가를 우선하세요. 여러 종류의 프로그램이 시스템 프록시를 따르지 않거나 UDP 등의 트래픽까지 실제로 가로채야 할 때 TUN 모드를 검토하면 됩니다.

자주 하는 오해와 해결 결론

시스템 프록시를 켜면 UWP 제한도 자동으로 해제된다

시스템 프록시는 앱에 프록시 서버의 위치만 알려 줍니다. AppContainer가 해당 로컬 위치에 액세스할 수 있는지는 루프백 정책이 별도로 결정합니다. 두 항목을 각각 확인해야 합니다.

포트를 7890으로 입력하면 항상 올바르다

7890은 흔한 기본값일 뿐 고정된 요구 사항이 아닙니다. 구성 파일, 클라이언트 재정의 설정 또는 포트 사용 중복으로 실제 리스닝 포트가 달라질 수 있습니다. 현재 클라이언트 화면과 리스닝 결과를 기준으로 확인하세요.

Microsoft Store를 허용하면 모든 스토어 앱에도 적용된다

예외는 패키지 패밀리 이름을 기준으로 기록됩니다. Microsoft Store, 앱 설치 관리자, Xbox 및 기타 앱은 보통 서로 다른 패키지 ID를 가지므로 실제 문제가 있는 앱을 각각 조회하고 추가해야 합니다.

연결이 Clash에 들어오면 프록시 경로 전체가 정상이다

연결이 나타났다는 것은 앱이 로컬 프록시에 도달했다는 뜻일 뿐입니다. 이후에도 규칙 일치, DNS, 노드 핸드셰이크, 원격 서비스 제한 또는 네트워크 정책 때문에 실패할 수 있습니다. 다음 단계를 판단하려면 로그에서 오류가 발생한 구간을 계속 확인해야 합니다.

최종적으로는 다음과 같이 간단히 판단할 수 있습니다. 일반 데스크톱 프로그램은 정상인데 스토어 앱에 Clash 연결 기록이 전혀 없다면 UWP 루프백 예외를 확인하세요. 연결 기록은 나타나지만 요청이 실패한다면 포트, 규칙, DNS 및 노드를 점검하세요. 여러 프로그램이 동시에 이상하다면 Clash 기본 연결 경로와 로컬 네트워크 점검으로 돌아가야 합니다. 이 순서대로 진행하면 대개 문제를 특정 계층으로 좁힐 수 있습니다.

Clash 클라이언트 다운로드 Windows, macOS, Android, iOS, Linux