NOMO.asia

문제 증상

최근 치지직의 그리드 업데이트 이후 720p 또는 1080p 재생 시 무한 로딩, 무한 버퍼링이 발생하는 문제가 나타났다. 모두에게 발생하는 문제는 아니고 "일부" 사용자에게서만 발생하는 문제인 듯하다. 본인은 최신 Chrome 브라우저를 사용 중이다.

일단 먼저 다음과 같은 시도를 해보았는데 소용이 없었다.

  1. 네이버 동영상 플러그인 확장기능 재설치 (https://chromewebstore.google.com/detail/%EB%84%A4%EC%9D%B4%EB%B2%84-%EB%8F%99%EC%98%81%EC%83%81-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8/ooadnieabchijkibjpeieeliohjidnjj)
  2. 네이버 라이브 스트리밍 커넥터 재설치 (https://appdown.pstatic.net/naver/nliveconnector/NLiveConnectorSetup.exe)
  3. 모든 브라우저 확장기능 비활성화

문제 해결 가능한 조건인지 확인하기

이 글에서 소개하는 임시 해결 방법은 아래의 조건에 해당하는 사람에게만 효과가 있다.

  1. 문제가 발생하는 페이지에서 키보드의 "F12" 키를 눌러 개발자 모드로 들어간 후,
  2. 네트워크 탭에서 Status 가 "CORS 오류", Domain 이 "localhost" 인 것이 있는지 보면 된다.

만약 이러한 것이 확인된다면 본 글에서 소개하는 방법으로 해결이 가능하다.

해결 방법

!경고! 본 방법은 일종의 보안 옵션을 건드는 것이므로 찝찝한 사람은 사용하지 않기 바란다.

  1. chrome://flags/ 로 접속
  2. private 를 검색
  3. "Respect the result of Private Network Access preflights" 를 Disabled 로 설정
    "Block insecure private network requests" 도 Disabled 로 설정해주자.
    참고로 내 경우 첫번째 것만 비활성화 해줘도 효과가 있었다. 혹시 모르니 둘 다 Disabled 로 설정해주자.

3. Relaunch 를 눌러 재시작

Edge 브라우저도 크롬 기반이므로 아마 edge://flags/ 에서 비슷하게 설정할 수 있지 않을까 싶다. 확인해보진 않았다.

원인 추정 (관심있는 사람만 볼 것)

대충 느낌이 nliveconnector.exe 로부터 일종의 (로컬) 서버를 열어서 브라우저와 통신하는 것 같다. 브라우저에서는 localhost 에 접근하여 데이터를 받아오려고 하는데 그게 Private Network Access(PNA)에 의해 막히는듯하다. PNA에 대한 더욱 자세한 설명은 여기. https://developer.chrome.com/blog/private-network-access-update-2024-03?hl=ko / https://developer.chrome.com/blog/private-network-access-preflight?hl=ko

임의로 Access-Control-Request-Private-Network 헤더나 CORS 관련 헤더를 추가하는 시도를 해봤는데 서버(localhost) 측에서 적절한 응답 헤더가 설정되지 않아서인지 문제가 해결되지 않았다. 본문에 제시된 것처럼 PNA를 끄거나, xhr 함수를 오버라이딩해서 CORS를 우회하도록 하는건 효과가 있었다.

근데 왜 일부 사용자 한테만 이런 문제가 생기는건지는 모르겠다.