스택 실행 가이드 · 스냅샷 2026년 10월 23일
Next.js on Cloudflare: 준비도 실행 가이드
이 스택에서 측정한 3,475개 사이트가 잘하고 있는 부분, 부족한 부분, 그리고 각 미비점을 해소하는 Next.js on Cloudflare별 조치 단계.
- 측정한 사이트
- 3,475
- 준비 상태 지수 중앙값
- 72/100
- 이 스택의 프로필
- 543
홈페이지 HTML 및 헤더에서 감지됨
전체 사이트: 64
상위 5만 개 사이트
영역별 준비도
활성화
88/100
전체 사이트 77
강화
60/100
전체 사이트 55
가속화
77/100
전체 사이트 63
복구
2/100
전체 사이트 11
Next.js on Cloudflare 실행 가이드
영향도순으로 정렬한 미비점과, 해당하는 경우 플랫폼별 조치 단계.
HSTS 최소 1년 유지
43% 관찰됨 · 전체 사이트 31%
HTTPS 응답에 Strict-Transport-Security를 전송하세요. 짧은 max-age(예: 300초)로 시작하고, 모든 하위 도메인이 HTTPS로 작동하는지 확인한 다음 31536000까지 단계적으로 늘리세요. 모든 하위 도메인이 HTTPS를 사용할 때만 includeSubDomains를 추가하세요. HSTS 사전 로드는 선택 사항이며 되돌리기 어렵습니다. hstspreload.org 자체도 이를 기본적으로 권장하지 않습니다.
Next.js에서: next.config.js의 headers() 옵션에 모든 경로에 적용할 헤더를 추가하세요.
Cloudflare에서: SSL/TLS > Edge Certificates > HTTP Strict Transport Security에서 HSTS를 활성화하고 max-age를 점진적으로 늘리세요.
security.txt 게시
9% 관찰됨 · 전체 사이트 5.5%
RFC 9116에서 요구하는 대로 최소한 Contact 및 Expires 필드를 포함하여 /.well-known/security.txt를 게시하고, 만료되기 전에 검토하세요.
Cloudflare에서: Cloudflare Security Center는 해당 영역의 security.txt 파일을 제공할 수 있습니다.
head 요소에 렌더링 차단 스크립트 없음
28% 관찰됨 · 전체 사이트 44%
DOM이 필요한 스크립트에는 defer를, 분석 도구처럼 독립적인 스크립트에는 async를 추가하거나, 스크립트를 body의 끝으로 옮기세요.
Next.js에서: 적절한 로딩 전략과 함께 next/script 컴포넌트를 사용하세요.
CAA 레코드로 인증서 발급 주체 제한
13% 관찰됨 · 전체 사이트 11%
실제로 사용하는 모든 CA를 지정하는 CAA 레코드를 게시하세요. CDN이 관리형 인증서에 사용하는 CA도 포함해야 합니다. 보고서를 받으려면 iodef 연락처를 추가하세요.
Cloudflare에서: Cloudflare는 관리형 인증서에 필요한 인증 기관을 문서로 안내합니다. 해당 기관을 CAA 레코드에 포함하세요.
DMARC 정책으로 격리 또는 거부 적용
44% 관찰됨 · 전체 사이트 31%
먼저 p=none과 보고서 수신 주소를 지정하여 DMARC를 게시하세요. SPF 또는 DKIM 정렬에 실패하는 정상 발신자의 문제를 해결한 다음, quarantine으로 전환하고 마지막으로 reject로 전환하세요.
최신 이미지 형식 사용
48% 관찰됨 · 전체 사이트 40%
이미지 CDN을 이용하거나 빌드 시 두 형식을 모두 생성하여, JPEG 또는 PNG 대체 이미지와 함께 WebP 또는 AVIF를 제공하세요.
Next.js에서: next/image 컴포넌트가 최적화된 형식을 자동으로 제공합니다.
Cloudflare에서: Cloudflare Polish는 이미지를 WebP 형식으로 변환할 수 있습니다.
DNSSEC 서명 적용
8.3% 관찰됨 · 전체 사이트 8.1%
DNS 제공업체에서 DNSSEC를 활성화한 다음, 도메인 등록기관에 DS 레코드를 추가하세요. 제공업체 변경은 신중하게 계획하세요. 오래된 DS 레코드가 남아 있으면 도메인 이름 해석이 실패할 수 있습니다.
Cloudflare에서: DNS > Settings에서 DNSSEC를 활성화하고 도메인 등록업체에 DS 레코드를 추가하세요.
콘텐츠 보안 정책 존재
32% 관찰됨 · 전체 사이트 31%
Content-Security-Policy-Report-Only로 시작하여 어떤 기능에 문제가 생길지 확인하고, 몇 주에 걸쳐 정책을 강화한 다음 실제로 적용하세요.
Next.js에서: Next.js는 미들웨어를 사용하는 nonce 기반 CSP를 문서로 안내합니다.
Next.js on Cloudflare 사이트가 앞서는 영역
- IPv6로 접속 가능관측 결과 91%전체 사이트 44%
- 정적 파일을 30일 이상 캐시관측 결과 86%전체 사이트 50%
- 화면 밖 이미지 지연 로딩관측 결과 90%전체 사이트 61%
- HTTP/3 지원 명시관측 결과 65%전체 사이트 36%
Next.js on Cloudflare의 전체 31개 점검 항목
| 점검 항목 | 영역 | 관찰됨 | 전체 사이트 | 측정됨 |
|---|---|---|---|---|
| HTTP 요청을 HTTPS로 전환 | 강화 | 93% | 91% | 3,228 |
| HSTS 최소 1년 유지 | 강화 | 43% | 31% | 3,475 |
| TLS 1.3 협상 완료 | 강화 | 98% | 92% | 3,443 |
| 인증서의 남은 유효기간이 14일 초과 | 강화 | >99% | >99% | 3,443 |
| 인증서 유효기간이 100일 이하 | 강화 | 95% | 75% | 3,443 |
| CAA 레코드로 인증서 발급 주체 제한 | 강화 | 13% | 11% | 3,469 |
| DNSSEC 서명 적용 | 강화 | 8.3% | 8.1% | 3,474 |
| security.txt 게시 | 강화 | 9% | 5.5% | 3,340 |
| DMARC 정책으로 격리 또는 거부 적용 | 강화 | 44% | 31% | 3,475 |
| X-Content-Type-Options: nosniff | 강화 | 50% | 48% | 3,475 |
| 프레임 삽입 제한 | 강화 | 49% | 49% | 3,475 |
| 콘텐츠 보안 정책 존재 | 강화 | 32% | 31% | 3,475 |
| Referrer-Policy 설정 | 강화 | 38% | 23% | 3,475 |
| HTTP/2 협상 완료 | 가속화 | >99% | 89% | 3,443 |
| HTTP/3 지원 공표 | 가속화 | 65% | 36% | 3,475 |
| HTML 압축 | 가속화 | >99% | 93% | 3,475 |
| 정적 파일을 30일 이상 캐싱 | 가속화 | 86% | 50% | 3,246 |
| 최신 이미지 형식 사용 | 가속화 | 48% | 40% | 2,943 |
| 화면 밖 이미지 지연 로딩 | 가속화 | 90% | 61% | 2,748 |
| head 요소에 렌더링 차단 스크립트 없음 | 가속화 | 28% | 44% | 3,475 |
| robots.txt 게시 | 활성화 | 93% | 79% | 3,369 |
| XML 사이트맵 발견 가능 | 활성화 | 84% | 73% | 3,446 |
| IPv6을 통한 접근 가능 | 활성화 | 91% | 44% | 3,473 |
| 대표 URL 선언 | 활성화 | 78% | 70% | 3,475 |
| 메타 설명 작성 | 활성화 | 95% | 82% | 3,475 |
| 모바일 뷰포트 구성 | 활성화 | 100% | 96% | 3,475 |
| 구조화된 데이터 존재 | 활성화 | 61% | 53% | 3,475 |
| 소셜 미리보기 이미지 설정 | 활성화 | 73% | 55% | 3,475 |
| 페이지 언어 선언 | 활성화 | 96% | 91% | 3,475 |
| 홈페이지까지 리디렉션 최대 1회 | 활성화 | 98% | 98% | 3,475 |
| 여러 제공업체에 네임서버 분산 | 복구 | 2.5% | 11% | 3,474 |