한 사용자가 R2 서브도메인을 위해 네임서버를 Cloudflare로 옮긴 뒤, JS 없이 HTML만 쓰던 사이트에 분석 스니펫이 삽입된 것을 발견했다. 끄려면 Analytics 대시보드에 사이트를 추가한 다음 스니펫을 비활성화해야 하는 옵트아웃 구조다. 이 삽입은 프록시(주황 구름, TLS를 Cloudflare가 종료)일 때만 일어나고 DNS 전용이면 발생하지 않는다. Cloudflare는 11개월 전 'Enabling Web Analytics by Default'로 이미 예고했지만 묻혔다.
발단은 R2 버킷을 자체 서브도메인으로 서빙하려고 네임서버를 Cloudflare로 옮긴 사례다. JavaScript를 전혀 쓰지 않던 textlog.cc에 분석용 JS 스니펫이 끼어들었고, 이를 끄려면 Analytics 대시보드에서 사이트를 기능에 추가한 뒤 스니펫을 비활성화해야 했다. 사실상 켠 뒤에 거부하는 옵트아웃 구조다.
조건이 중요하다. 이 삽입은 레코드가 프록시(주황 구름)로 설정돼 Cloudflare가 TLS를 종료하고 실제 리버스 프록시로 동작할 때만 가능하다. Cloudflare를 DNS 호스팅으로만 쓰고 HTTPS가 원본 서버로 직접 향하면 HTML을 수정할 수 없다. 다만 새 도메인은 프록시가 기본값이라, 급히 네임서버를 바꾸다 놓치기 쉽다.
Cloudflare는 11개월 전 'The RUM Diaries: Enabling Web Analytics by Default'로 기본 활성화를 예고했지만 당시 주목받지 못했다. 완화책으로는 콘텐츠 보안 정책(CSP)으로 허용 스크립트 출처를 제한하거나, 프록시 대신 DNS 전용으로 전환하는 방법이 거론된다.