Web Worker를 사용할 수 없나요? 플랫폼 및 환경별 문제 해결 가이드
문제 해결브라우저 호환성Web Worker
확인되는 증상
Any3D 하단에 노란색 경고가 표시됩니다: "현재 브라우저가 Web Worker를 지원하지 않습니다." 미리보기는 정상 동작할 수 있지만, 대용량 파일 처리 시 페이지가 멈출 수 있고, 텍스처 압축이나 이미지-3D 변환 등 Worker 경로를 사용하는 기능이 비활성화됩니다.
Web Worker는 무거운 연산을 백그라운드 스레드에서 실행하도록 지원합니다. Any3D의 텍스처 압축 및 일부 변환 파이프라인은 Worker + OffscreenCanvas + createImageBitmap 조합에 의존합니다.
일반적인 원인
| 원인 | 일반적인 시나리오 |
|---|---|
| 보안 컨텍스트 미충족 | file://로 열었거나, HTTP(비 localhost) 환경에서 접속 |
| 구버전 브라우저 / WebView | 구버전 시스템 브라우저, 앱 내 인앱 브라우저 |
| CSP 제한 | 기업 포털 iframe, 제로 트러스트 클라이언트의 worker-src 차단 |
| 확장 프로그램 차단 | 개인정보 보호 플러그인이 Worker 또는 blob: URL 차단 |
| 네트워크 캐시 문제 | 프록시/VPN이 불완전한 Worker 스크립트 반환 |
| 기기 관리 정책 | 관리 프로필에서 백그라운드 스크립트 비활성화 |
플랫폼별 문제 해결
Windows
- 반드시 HTTPS(
https://any3d.cc)로 접속하세요. 로컬 HTML 파일을 직접 열지 마세요. - Edge 기업 정책:
컴퓨터 구성 → 관리 템플릿 → Microsoft Edge에서 Worker나 서드파티 쿠키 제한 여부를 확인하세요. - Windows 가족 보호: 자녀 계정의 웹 제한으로 인해 Worker 생성이 실패할 수 있습니다.
macOS
- Safari 및 Chrome 모두 macOS 12+ 및 최신 브라우저 버전이 필요합니다.
- 스크린 타임 → 콘텐츠 및 개인정보 보호: '성인 웹사이트 제한' 또는 커스텀 필터링이 Worker 스크립트 도메인을 차단할 수 있습니다.
- 회사 MDM 프로필에서 스크립트 실행을 제한하는 경우 IT 관리자에게 문의하세요.
Linux
- HTTPS 접속을 확인하세요. 기업 Squid 프록시에서
blob:및worker-src관련 요청을 허용해야 합니다.
iOS / Android
- 카카오톡, 라인, 위챗 등의 인앱 브라우저에서 대용량 파일을 처리하지 마시고, 시스템 기본 브라우저로 여세요.
- iOS 저전력 모드는 일반적으로 Worker를 금지하지 않지만, 구버전 WebKit은 API가 누락될 수 있으므로 시스템을 최신 상태로 유지하세요.
- Android WebView 버전이 오래된 경우 Worker를 사용할 수 없습니다: Google Play 스토어에서 'Android System WebView'를 업데이트하세요.
네트워크, VPN 및 기업 인트라넷
| 시나리오 | 설명 |
|---|---|
| 회사 VPN | 일부 VPN은 SSL 검사를 수행하고 제한적인 CSP를 주입합니다. IT 관리자에게 Worker 허용을 요청하세요. |
| 인트라넷 SSO 포털 iframe | 상위 페이지 CSP가 worker-src blob:를 금지할 수 있습니다. 새 탭에서 Any3D를 직접 여세요. |
| 리버스 프록시 | Nginx 등의 잘못된 설정으로 Worker 스크립트 MIME 타입이 올바르지 않을 수 있습니다. |
| 공유기 유해 사이트 차단 | HTTP 미러로 다운그레이드될 경우 Worker가 동작하지 않습니다. |
자가 진단: VPN 연결을 해제하거나 스마트폰 핫스팟으로 전환하여 경고가 사라지는지 확인하세요.
기업 CSP 참조 (IT 관리자용)
Any3D가 iframe에 임베드되는 경우 다음 헤더를 허용하는 것을 권장합니다:
worker-src 'self' blob:;
script-src 'self' 'unsafe-eval' blob:;
개인 사용자는 CSP를 직접 수정할 필요가 없습니다.
단계별 해결 방법 (공통)
- HTTPS 접속을 확인하고 강력 새로고침(Ctrl+F5 / Cmd+Shift+R)을 실행하세요.
- 시크릿 창에서 확장 프로그램 간섭을 배제하고 테스트하세요.
- 브라우저 및 (Android의 경우) 시스템 WebView를 최신으로 업데이트하세요.
- 기업 포털 iframe 대신 새 탭에서 직접 Any3D를 여세요.
빠른 자가 진단
typeof Worker !== "undefined";
true가 반환되는 것은 API가 존재함을 의미합니다. Any3D 전체 파이프라인에는 OffscreenCanvas와 createImageBitmap도 함께 필요합니다.
Web Worker가 없을 때의 영향
| 기능 | 영향 |
|---|---|
| 버텍스 압축 (Draco 등) | 일반적으로 계속 사용 가능 (메인 스레드 + WASM) |
| 텍스처 / KTX2 압축 | Worker 경로 비활성화, 대용량 파일 시 UI 멈춤 발생 가능 |
| 이미지-3D 모델 변환 | 기능 제한 또는 현저한 성능 저하 |
요약
Web Worker 경고는 주로 비 HTTPS 환경, 구버전 WebView, 기업 CSP/VPN 정책, 확장 프로그램 차단으로 인해 발생합니다. 플랫폼에 맞춰 브라우저를 업데이트하고 다른 네트워크 환경에서 확인하면 대용량 백그라운드 처리 기능을 정상 복구할 수 있습니다.