CDN 설정
CDN Settings

CDN 개념 이해하기

CDN을 처음 접하는 분을 위해 핵심 개념을 쉽게 설명합니다.

CDN이란?

What is CDN?

CDN은 전 세계에 분산된 서버(엣지 노드) 네트워크를 통해 콘텐츠를 사용자 가까이에서 빠르게 전달하는 서비스입니다.

CDN is a service that delivers content quickly to users through a globally distributed network of servers (edge nodes).

🏢
Origin Server

실제 콘텐츠가 저장된 고객 서버. CDN 도입 후 전체 요청의 99% 이상은 원본에 도달하지 않습니다.

The customer server where actual content is stored. After CDN adoption, 99% or more of all requests never reach the origin.

Edge Node

사용자와 가까운 위치에 배치된 M2Live CDN 서버. 캐싱된 콘텐츠를 원본 요청 없이 즉시 응답합니다.

M2Live CDN servers placed near users. Responds instantly with cached content without requesting the origin.

💾
Cache (캐시)

엣지 노드에 임시 저장된 콘텐츠. TTL 동안 유지되며 반복 요청을 처리합니다.

Content temporarily stored at edge nodes. Maintained for the TTL duration and used to serve repeated requests.

TTL (Time To Live)

캐시 유지 시간. 만료 후 다음 요청 시 원본에서 새 콘텐츠를 가져와 다시 캐싱합니다.

Cache retention time. After expiry, the next request fetches fresh content from the origin and re-caches it.

Origin Pull

Cache MISS 시 CDN이 원본 서버에서 콘텐츠를 가져오는 동작. Origin Pull이 적을수록 CDN 효율이 높습니다.

The action of CDN fetching content from the origin server on a Cache MISS. Fewer Origin Pulls mean higher CDN efficiency.

Purge (퍼지)

캐시를 강제 삭제합니다. 원본 변경 후 CDN에 즉시 반영할 때 사용합니다.

Forcibly deletes the cache. Used to immediately reflect origin changes in the CDN.

캐시 HIT vs MISS

Cache HIT vs MISS

✅ Cache HIT — 엣지에서 즉시 응답
✅ Cache HIT — Instant response from edge
사용자브라우저
UserBrowser
→ 요청→ Request← 즉시 응답← Instant response
M2Live CDN캐시 보유Cache available
⚡ <5ms
⚠ Cache MISS — 원본에서 가져온 후 캐싱
⚠ Cache MISS — Fetch from origin then cache
사용자브라우저
UserBrowser
→ 요청→ Request← 응답← Response
M2Live CDN캐시 없음No cache
→ Origin Pull← 응답+캐싱← Response+Cache
원본 서버
Origin Server
이후 HIT 처리
HIT from next request

캐시 히트율 (Cache Hit Ratio)

Cache Hit Ratio

히트율상태조치
99% 이상최적현재 설정 유지
90~99%양호TTL 연장 검토
70~90%개선 필요Cache-Control 헤더 및 TTL 점검
70% 미만CDN 효과 저조즉시 기술지원팀 문의
Hit RatioStatusAction
99% or aboveOptimalMaintain current settings
90~99%GoodConsider extending TTL
70~90%Needs improvementReview Cache-Control header and TTL
Below 70%Low CDN effectivenessContact technical support immediately

HTTP 캐시 헤더 가이드

HTTP Cache Header Guide

CDN 서비스는 원본 서버의 Cache-Control 헤더를 최우선으로 준수합니다. 원본 서버에서 콘텐츠의 용도에 알맞은 캐시 정책을 내려주시면, CDN이 훨씬 더 효율적으로 작동하여 서버 부하를 줄이고 최상의 전송 속도를 제공할 수 있습니다.

The CDN service respects the Cache-Control header from the origin server as the highest priority. Providing appropriate cache policies from the origin server allows the CDN to operate far more efficiently, reducing server load and delivering the best transfer speeds.

헤더동작권장 대상
Cache-Control: max-age=864001일 캐싱정적 이미지 (JPG, PNG 등)
Cache-Control: max-age=25920001달 캐싱비디오 (MP4 등 대용량 미디어)
Cache-Control: max-age=3005분 캐싱업데이트가 잦은 CSS, JS
Cache-Control: no-cache매 요청마다 재검증자주 변경되는 HTML 문서
HeaderBehaviorRecommended for
Cache-Control: max-age=86400Cache for 1 dayStatic images (JPG, PNG, etc.)
Cache-Control: max-age=2592000Cache for 1 monthVideo (MP4 and other large media)
Cache-Control: max-age=300Cache for 5 minutesFrequently updated CSS, JS
Cache-Control: no-cacheRevalidate on every requestFrequently changing HTML documents
CDN 설정
CDN Settings

빠른 시작 가이드

M2Live Cloud CDN을 처음 구성하는 7단계 가이드입니다.

시작 전 체크리스트

Pre-start Checklist

항목내용필수
서비스 도메인서브도메인 권장 (예: cdn.myservice.com)필수
원본 서버 주소실제 콘텐츠가 있는 서버 IP/도메인필수
SSL 인증서인증서, 키파일, 체인인증서(HTTPS 서비스 시)HTTPS 시 필수
DNS 편집 권한CNAME 레코드 추가 권한필수
ItemDetailsRequired
Service DomainSubdomain recommended (e.g. cdn.myservice.com)Required
Origin Server AddressServer IP/domain where actual content residesRequired
SSL CertificateCertificate, key file, chain certificate (for HTTPS)Required for HTTPS
DNS Edit PermissionPermission to add CNAME recordsRequired

단계별 설정

Step-by-step Configuration

1
호스팅 발급 요청
Request Hosting Issuance
기술지원팀에 서비스 도메인·원본 서버 주소를 전달합니다.
Provide the service domain and origin server address to the technical support team.
가이드 →
2
DNS CNAME 등록
Register DNS CNAME
초기 TTL 300초로 설정하여 전파 시간을 단축합니다.
DNS
cdn.myservice.com  300  IN  CNAME  cdn.myservice.service1.m2live.io.
Set initial TTL to 300s to shorten propagation time.
DNS
cdn.myservice.com  300  IN  CNAME  cdn.myservice.service1.m2live.io.
가이드 →
3
원본 서버 연결
Connect Origin Server
CDN 설정 → 원본 연결/헤더 제어에서 원본 주소와 프로토콜을 설정합니다.
Configure the origin address and protocol under CDN Settings → Origin Connection / Header Control.
가이드 →
4
SSL 인증서 등록
Register SSL Certificate
CDN 설정 → SSL에서 인증서 파일을 등록합니다.
Register the certificate file under CDN Settings → SSL.
가이드 →
5
캐시 TTL 설정
Configure Cache TTL
정적 콘텐츠 86400s+, HTML 300s 이하를 권장합니다.
Recommended: static content 86400s+, HTML 300s or less.
가이드 →
6
미디어 On-the-fly 최적화 활성화
Enable Media On-the-fly Optimization
이미지 최적화(AVIF/WebP)와 비디오 최적화(WebM)를 활성화합니다.
Enable image optimization (AVIF/WebP) and video optimization (WebM).
가이드 →
7
상태 확인 및 모니터링
Status Check and Monitoring
캐시 히트율 99%+, 전송 성공률 99.9%+ 이상이 정상 운영 기준입니다.
Normal operation requires cache hit ratio 99%+ and transfer success rate 99.9%+.
가이드 →

콘텐츠 유형별 권장 TTL

Recommended TTL by Content Type

정적 콘텐츠
Static Content
이미지 (.jpg .png .avif)Images (.jpg .png .avif)86400s+
비디오 (.mp4 .webm)Video (.mp4 .webm)86400s+
CSS / JS86400s
폰트 파일Font files604800s+
동적 콘텐츠
Dynamic Content
HTML 페이지HTML pages0~300s
API 응답 (JSON)API response (JSON)0~60s
로그인 필요 페이지Login-required pages캐시 제외Exclude from cache
실시간 데이터Real-time data0s (no-cache)
🚫 자주 하는 실수
🚫 Common Mistakes
  • API 엔드포인트에 긴 TTL — 모든 사용자에게 동일 캐시가 반환됩니다.
  • 로그인 페이지 캐싱 — 다른 사용자의 개인정보가 노출될 수 있습니다.
  • 원본 IP 외부 노출 — CDN 도입 후에도 원본 IP가 공개되면 직접 공격이 가능합니다.
  • Long TTL on API endpoints — The same cached response is returned to all users.
  • Caching login pages — Personal data of other users may be exposed.
  • Exposing origin IP externally — If the origin IP is public even after CDN adoption, direct attacks are possible.
CDN 설정
CDN Settings

도메인 관리

CDN 서비스에 연결할 도메인을 신청하고, DNS · 인증서 · 원본 서버 세 가지 상태를 실시간으로 확인합니다.

도메인 연결 신청

Domain Connection Request

도메인 연결 신청 버튼을 클릭해 팝업을 작성합니다. 운영팀이 호스팅을 발급하면 DNS 설정 단계로 진행할 수 있습니다.

Click the Domain Connection Request button to fill in the popup. Once the operations team issues the hosting, you can proceed to the DNS configuration step.

항목설명입력 예시
도메인 필수 CDN으로 서빙할 도메인. 루트 도메인(example.com)은 불가하며 반드시 서브도메인으로 신청해야 합니다. cdn.myservice.com
img.myservice.com
설명 필수 도메인 용도를 알아보기 쉬운 메모. 팀원 간 운영 목적 구분에 유용합니다. 이미지 CDN (상품 사진)
동영상 스트리밍
ItemDescriptionInput Example
Domain Required The domain to serve via CDN. Root domains (example.com) are not allowed — you must apply with a subdomain. cdn.myservice.com
img.myservice.com
Description Required A note describing the domain's purpose. Useful for distinguishing operational purposes among team members. Image CDN (product photos)
Video streaming
⚠ 루트 도메인(apex domain)은 사용할 수 없습니다
⚠ Root domains (apex domains) cannot be used
DNS 표준상 루트 도메인에는 CNAME 레코드를 설정할 수 없습니다. 반드시 cdn., img. 등 서브도메인으로 신청하세요. ALIAS(ANAME) 레코드가 필요한 경우 기술지원팀에 문의하세요. Per DNS standards, CNAME records cannot be set on root domains. Always apply using a subdomain such as cdn. or img.. If you need an ALIAS (ANAME) record, contact the technical support team.

서비스 상태 — 3가지 진단 항목

Service Status — 3 Diagnostic Items

도메인을 선택하면 DNS · 인증서 · 원본 서버 상태를 실시간으로 확인할 수 있습니다. 각 항목의 정상 기준과 이상 시 조치 방법은 아래 표를 참고하세요.

Select a domain to check the status of DNS · Certificate · Origin Server in real time. Refer to the table below for normal criteria and remediation steps for each item.

항목주요 확인 포인트이상 시 조치
① DNS A 레코드가 M2Live CDN IP 대역을 가리키는지 확인.
응답 시간 100ms 이하 정상.
DNS TTL은 초기 30~300초, 안정화 후 3600초 이상 권장.
CNAME/A 레코드 미설정 또는 전파 중 → DNS 레코드 확인. 전파는 최대 48시간 소요.
② 인증서 주체(Subject)에 서비스 도메인 포함 여부 확인.
유효 기간 내에 있는지 확인.
남은 기간 30일 이하면 갱신 준비.
만료 시 브라우저 경고 즉시 발생 → SSL 탭에서 새 인증서 재등록.
③ 원본 서버 가용 IP가 1개 이상인지 확인.
가용 IP 0개라면 원본 장애 상태.
가용 IP 0개 또는 5xx 응답 → 원본 서버 점검 후 기술지원팀 연락.
ItemKey Check PointsAction on Anomaly
① DNS Verify that the A record points to the M2Live CDN IP range.
Response time under 100ms is normal.
DNS TTL: initially 30–300s, recommended 3600s+ after stabilization.
CNAME/A record not set or still propagating → Check DNS records. Propagation may take up to 48 hours.
② Certificate Verify that the Subject includes the service domain.
Check that it is within the validity period.
Prepare renewal if 30 days or less remain.
Browser warning appears immediately on expiry → Re-register new certificate under the SSL tab.
③ Origin Server Check that at least 1 IP is available.
0 available IPs indicates an origin failure.
0 available IPs or 5xx responses → Inspect origin server and contact technical support.
💡 와일드카드 인증서로 관리 간소화
💡 Simplify management with a wildcard certificate
*.myservice.com 와일드카드 인증서 하나로 모든 서브도메인을 커버할 수 있습니다. 갱신도 한 번에 처리됩니다. A single *.myservice.com wildcard certificate covers all subdomains. Renewals are also handled in one step.
🚫 원본 IP를 외부에 노출하지 마세요
🚫 Do not expose the origin IP externally
CDN 도입 후에도 원본 IP가 공개되면 CDN을 우회한 직접 공격이 가능합니다. 원본 서버 방화벽에서 M2Live CDN IP 대역의 요청만 허용하고 그 외 HTTP/HTTPS 트래픽은 차단하세요. Even after adopting a CDN, if the origin IP is public, direct attacks bypassing the CDN are possible. Allow only M2Live CDN IP range requests in the origin server firewall and block all other HTTP/HTTPS traffic.

URL 진단 — 캐시 HIT/MISS 확인

URL Diagnostics — Cache HIT/MISS Check

서비스 상태 화면 하단 URL 진단에 리소스 경로를 입력하면 CDN 경유 여부와 캐시 상태를 즉시 확인할 수 있습니다.

Enter a resource path in the URL Diagnostics section at the bottom of the service status screen to instantly check CDN routing and cache status.

결과 항목의미 및 이상 시 조치
응답 코드5xx → 원본 서버 장애 / 404 → 원본 경로 오류 / 301·302 → 리다이렉트 루프 점검
캐시 상태항상 MISS면 TTL 설정 또는 Cache-Control 헤더 점검
CDN 경유 여부미경유 시 DNS 전파 미완료 또는 CNAME/A 레코드 오류
Content-Type기대와 다른 포맷이면 미디어 최적화 설정 또는 Accept 헤더 확인
Result ItemMeaning & Action on Anomaly
Response Code5xx → Origin server failure / 404 → Origin path error / 301·302 → Check for redirect loop
Cache StatusIf always MISS, check TTL settings or Cache-Control header
CDN RoutingNot routed → DNS propagation incomplete or CNAME/A record error
Content-TypeIf format differs from expected, check media optimization settings or Accept header
CDN 설정
CDN Settings

일반 설정

도메인 활성화, Alias(별칭 도메인), 전송 대역폭 제한, URL Rewrite 정책을 관리합니다. 각 항목은 독립적으로 켜고 끌 수 있으며, 저장 즉시 반영됩니다.

Manage domain activation, Alias (alternate domains), transfer bandwidth limits, and URL Rewrite policies. Each item can be toggled independently and takes effect immediately upon saving.

항목개념활용 예시
도메인 Alias하나의 CDN 설정으로 여러 도메인을 동시에 서빙합니다.img.myservice.comcdn.myservice.com을 단일 CDN으로 연결
전송 대역폭 제한도메인당 최대 전송 속도(Mbps)를 제한합니다.서비스 품질을 낮추어 과금량을 줄입니다.
URL Rewrite정규표현식으로 요청 URL을 CDN 엣지에서 재매핑합니다. 원본 서버나 클라이언트 변경 없이 URL 구조를 투명하게 전환합니다.구 경로 /old/(.*) → 신 경로 /new/$1
ItemConceptUsage Example
Domain AliasServe multiple domains simultaneously with a single CDN configuration.Link img.myservice.com and cdn.myservice.com to a single CDN
Transfer Bandwidth LimitLimits the maximum transfer speed (Mbps) per domain.Reduce service quality to lower billing costs.
URL RewriteRemaps request URLs at the CDN edge using regular expressions. Transparently changes URL structure without modifying the origin server or client.Old path /old/(.*) → New path /new/$1

① 도메인 활성화

① Domain Activation

CDN 서비스 전체를 ON/OFF하는 마스터 스위치입니다. 비활성화하면 해당 도메인의 모든 CDN 기능(캐시, 이미지·비디오 최적화, 접근 제어 등)이 즉시 중단됩니다. 중단 전 반드시 도메인을 다른 서비스로 라우팅하도록 변경해야 합니다.

This is the master switch that turns the entire CDN service ON/OFF. When deactivated, all CDN functions for that domain (cache, image/video optimization, access control, etc.) stop immediately. Before deactivating, make sure to reroute the domain to another service.

CDN 설정 — 일반 > 도메인 활성화
도메인 활성화
비활성화 시 CDN 캐시·최적화 기능이 모두 중단됩니다.
서비스 활성화
도메인의 서비스 상태를 변경합니다.
CDN Settings — General > Domain Activation
Domain Activation
When deactivated, all CDN cache and optimization features are stopped.
Service Activation
Change the service status of the domain.
⚠ 비활성화 전 반드시 확인하세요
⚠ Be sure to check before deactivating
비활성화하면 CDN을 통한 캐시 응답이 즉시 중단됩니다. 트래픽 이관이 필요하다면 이관되는 서비스에 충분한 대역폭이 확보되어야 합니다. Deactivating immediately stops all cached responses through the CDN. If traffic migration is needed, ensure the destination service has sufficient bandwidth.

② 도메인 Alias (별칭 도메인)

② Domain Alias (Alternate Domain)

Alias는 하나의 CDN 설정(원본 서버, 캐시 정책, SSL 등)을 여러 도메인이 공유할 수 있게 해주는 기능입니다. 예를 들어 이미지용 img.myservice.com과 일반 콘텐츠용 cdn.myservice.com이 동일한 원본과 설정을 사용한다면, 별도 CDN을 만들지 않고 Alias로 등록하면 됩니다.

Alias allows multiple domains to share a single CDN configuration (origin server, cache policy, SSL, etc.). For example, if img.myservice.com for images and cdn.myservice.com for general content use the same origin and settings, register one as an Alias instead of creating a separate CDN.

CDN 설정 — 일반 > 도메인 Alias
도메인 Alias
이 CDN 서비스로 콘텐츠를 서빙하는 모든 도메인을 등록합니다.
http(s)://
cdn.example.com
CDN Settings — General > Domain Alias
Domain Alias
Register all domains serving content through this CDN service.
http(s)://
cdn.example.com
💡 Alias 도메인에도 DNS CNAME 등록이 필요합니다
💡 DNS CNAME registration is also required for Alias domains
Alias로 등록한 도메인도 메인 도메인과 동일하게 DNS에 CNAME 레코드를 추가해야 CDN을 경유합니다. DNS 설정 방법은 도메인 관리 섹션을 참고하세요. Alias-registered domains also require a CNAME record added to DNS, just like the main domain, for CDN routing. Refer to the Domain Management section for DNS configuration details.

③ 전송 대역폭 제한

③ Transfer Bandwidth Limit

도메인당 CDN에서 전송할 수 있는 최대 속도를 Mbps 단위로 제한합니다. 트래픽을 억제하여 트래픽 비용을 예측 가능하게 관리할 수 있습니다. 대신 서비스 품질(전송속도)는 저하됩니다.

Limits the maximum transfer speed (in Mbps) from the CDN per domain. Throttling traffic allows predictable cost management, but at the expense of service quality (transfer speed).

설정값동작권장 시나리오
비활성화 (기본)속도 제한 없음. CDN이 가능한 최대 속도로 전송합니다.-
SettingBehaviorRecommended Scenario
Disabled (default)No speed limit. CDN transfers at the maximum possible speed.-
CDN 설정 — 일반 > 전송 대역폭 제한
전송 대역폭 제한
대역폭 제한
최대 전송속도를 Mbps 단위로 제한합니다.
100
Mbps  (최소 1 Mbps ~ 최대 1,000 Mbps)
CDN Settings — General > Transfer Bandwidth Limit
Transfer Bandwidth Limit
Bandwidth Limit
Limits the maximum transfer speed in Mbps.
100
Mbps  (min 1 Mbps ~ max 1,000 Mbps)
💡전송 대역폭 제한은 도메인 단위입니다
💡Transfer bandwidth limit is applied per domain

④ URL Rewrite 정책

④ URL Rewrite Policy

CDN 엣지에서 클라이언트 요청 URL을 정규표현식(RegExp) 패턴으로 매칭한 뒤, 지정한 형식으로 변조합니다. 캐싱키와 원본에 요청되는 URL 모두 바뀐 URL이 사용됩니다. 클라이언트나 원본 서버 코드를 수정하지 않고도 URL 구조를 투명하게 변경할 수 있습니다.

Matches client request URLs at the CDN edge using a regular expression (RegExp) pattern and rewrites them to the specified format. Both the cache key and the URL sent to the origin use the rewritten URL. URL structure can be transparently changed without modifying client or origin server code.

구성 요소설명예시
URL 패턴매칭할 정규표현식. 괄호 ()로 캡처 그룹을 만들면 치환에서 #1, #2로 참조할 수 있습니다.([^/]+)/(.*)
치환패턴이 일치했을 때 재조합할 URL. 캡처 그룹은 #1, #2 … 순서로 참조합니다.#1.php?id=#2
변경 전 URL 로깅Rewrite가 적용되기 전의 원본 요청 URL을 access.log에 함께 기록합니다. 디버깅 시 유용합니다.
대소문자 구분패턴 매칭 시 대소문자를 구분할지 여부입니다. 기본값은 구분하지 않음(case-insensitive)입니다.
ComponentDescriptionExample
URL PatternRegular expression to match. Creating capture groups with () lets you reference them as #1, #2 in the substitution.([^/]+)/(.*)
SubstitutionThe URL to reassemble when the pattern matches. Capture groups are referenced as #1, #2 … in order.#1.php?id=#2
Pre-rewrite URL LoggingRecords the original request URL before Rewrite is applied in access.log. Useful for debugging.
Case SensitivityWhether to distinguish case during pattern matching. Default is case-insensitive.
CDN 설정 — 일반 > URL Rewrite 정책
URL Rewrite 정책
정규표현식을 기반으로 URL을 재조합합니다. 패턴 및 치환에서 도메인을 변경할 수 없습니다.
URL Rewrite 켜기
URL 패턴
cloud.m2live.io/
ex) ([^/]+)/(.*)
치환
cloud.m2live.io/
ex) #1.php?id=#2
클라이언트 요청이 패턴에 매칭되어 변환되면 변환된 URL로 access.log에 기록됩니다.
CDN Settings — General > URL Rewrite Policy
URL Rewrite Policy
Reassembles URLs using regular expressions. The domain cannot be changed in the pattern or substitution.
Enable URL Rewrite
URL Pattern
cloud.m2live.io/
ex) ([^/]+)/(.*)
Substitution
cloud.m2live.io/
ex) #1.php?id=#2
When a client request matches the pattern and is transformed, the rewritten URL is recorded in access.log.

URL Rewrite 패턴 예시

URL Rewrite Pattern Examples

변환 목적URL 패턴치환결과
경로 구조 변환 ([^/]+)/(.*) #1.php?id=#2 /post/123/post.php?id=123
디렉토리 접두사 추가 (.*) /v2/#1 /api/users/v2/api/users
확장자 제거 (.*)\.html$ #1 /about.html/about
구 경로 → 신 경로 /old/(.*) /new/#1 /old/banner.jpg/new/banner.jpg
PurposeURL PatternSubstitutionResult
Path structure conversion ([^/]+)/(.*) #1.php?id=#2 /post/123/post.php?id=123
Add directory prefix (.*) /v2/#1 /api/users/v2/api/users
Remove extension (.*)\.html$ #1 /about.html/about
Old path → New path /old/(.*) /new/#1 /old/banner.jpg/new/banner.jpg
💡 테스트 버튼으로 먼저 검증하세요
💡 Validate with the Test button first
규칙을 저장하기 전에 테스트 버튼을 눌러 입력한 패턴이 원하는 URL에 올바르게 매칭되는지 확인할 수 있습니다. 잘못된 패턴은 전체 요청이 오작동할 수 있으므로 반드시 테스트 후 저장하세요. Before saving a rule, click the Test button to verify that the pattern correctly matches the desired URL. An incorrect pattern can cause all requests to malfunction, so always test before saving.
🚫 도메인 변경은 불가합니다
🚫 Domain changes are not supported
URL Rewrite는 경로(path) 부분만 변환할 수 있습니다. 패턴 또는 치환에 다른 도메인을 입력해도 적용되지 않습니다. 도메인 간 리다이렉트가 필요하다면 접근 제어 → HTTP 리다이렉트를 사용하세요. URL Rewrite can only transform the path portion. Entering a different domain in the pattern or substitution has no effect. For cross-domain redirects, use Access Control → HTTP Redirect.
CDN 설정
CDN Settings

원본 연결 / 헤더 제어

CDN이 원본 서버(Origin Server)와 통신하는 방식 전반을 설정합니다. 프로토콜·주소·타임아웃부터 요청/응답 헤더 조작, Redirect 처리, 원본요청 URL Rewrite까지 원본 연결과 관련된 모든 항목이 이 탭에 집중되어 있습니다.

Configure all aspects of how the CDN communicates with the origin server. This tab covers everything related to origin connection: protocol, address, timeout, request/response header manipulation, redirect handling, and origin-request URL Rewrite.

Origin Pull

Cache MISS 시 CDN 엣지가 원본 서버로 콘텐츠를 가져오는 동작. 이후 동일 요청은 캐시에서 즉시 응답합니다.

The action of the CDN edge fetching content from the origin server on a Cache MISS. Subsequent identical requests are served instantly from cache.

🔀
Request Coalescing

동일 콘텐츠에 동시 요청이 몰릴 때 Origin Pull을 1회로 병합합니다. 원본 과부하 방지 핵심 기능.

When simultaneous requests for the same content surge, merges Origin Pull into a single request. Key feature for preventing origin overload.

🏷
Host 헤더Host Header

CDN이 원본에 요청할 때 보내는 Host 값. 원본이 Host헤더로 요청을 분기한다면 반드시 일치해야 합니다.

The Host value sent by the CDN when requesting the origin. Must match exactly if the origin routes requests based on the Host header.

Timeout

연결대기(Connect)와 수신대기(Read) 두 단계의 타임아웃을 각각 설정합니다. Timeout되면 CDN의 에러처리 메커니즘이 가동됩니다.

Set separate timeouts for two stages: connection wait (Connect) and receive wait (Read). When a timeout occurs, the CDN's error-handling mechanism activates.

📋
헤더 변조Header Manipulation

원본 → CDN(응답헤더 변조) 구간에서 HTTP 헤더를 추가·덮어쓰기·삭제할 수 있습니다.

Add, overwrite, or delete HTTP headers in the origin → CDN (response header manipulation) segment.

원본요청 URL RewriteOrigin-Request URL Rewrite

캐시키에는 영향없이 원본에 전달할 URL을 정규표현식으로 변환합니다.

Transforms the URL sent to the origin using regular expressions without affecting the cache key.

① 원본 프로토콜 / 주소

① Origin Protocol / Address

CDN 엣지가 원본 서버로 Origin Pull 요청을 보낼 때 사용할 프로토콜과 주소를 설정합니다. 여러 주소를 등록하면 라운드로빈 로드밸런싱이 적용되며, 보조 주소로 설정한 서버는 주 서버가 모두 응답 불가일 때만 투입됩니다.

Configure the protocol and address the CDN edge uses when sending Origin Pull requests to the origin server. Registering multiple addresses applies round-robin load balancing; servers set as secondary addresses are only used when all primary servers are unreachable.

항목설명권장값
원본 프로토콜CDN ↔ 원본 간 통신 방식. HTTP는 암호화 없이 빠르고, HTTPS는 종단간(End-to-End) 암호화를 보장합니다.내부망이면 HTTP, 공인망이면 HTTPS 권장
원본 주소IP 주소 또는 도메인. http://, https:// 접두사 없이 입력합니다.192.168.10.135 또는 origin.myservice.com
포트(port)원본 서버가 수신하는 포트 번호. 기본 포트(HTTP 80, HTTPS 443)와 다를 때 지정합니다.-
보조 주소주 원본 서버 전체 장애 시 자동으로 전환되는 Failover 서버입니다.가용성이 중요한 서비스에 설정 권장
ItemDescriptionRecommended Value
Origin ProtocolCommunication method between CDN ↔ origin. HTTP is fast without encryption; HTTPS guarantees end-to-end encryption.HTTP for internal network, HTTPS for public network
Origin AddressIP address or domain. Enter without http:// or https:// prefix.192.168.10.135 or origin.myservice.com
PortPort number the origin server listens on. Specify when different from the default port (HTTP 80, HTTPS 443).-
Secondary AddressFailover server that automatically takes over when all primary origin servers are down.Recommended for services where availability is critical
CDN 설정 — 원본 프로토콜/주소
원본 프로토콜/주소
CDN 서버와 원본이 통신할 프로토콜을 선택합니다.
HTTP
HTTPS
원본주소 목록
원본서버 주소를 도메인 또는 IP 목록으로 입력하세요.
원본연결
http(s)://
127.0.0.1
port
8585
IP 주소 또는 도메인 이름을 프로토콜(http:// 또는 https://) 제외하고 입력하세요.
보조(원본 장애 시 투입)주소로 사용
CDN Settings — Origin Protocol / Address
Origin Protocol / Address
Select the protocol for communication between CDN server and origin.
HTTP
HTTPS
Origin Address List
Enter origin server addresses as a list of domains or IPs.
Origin Connection
http(s)://
127.0.0.1
port
8585
Enter the IP address or domain name without the protocol prefix (http:// or https://).
Use as secondary address (failover when primary is down)
💡 원본 서버 IP 보호 (DDoS 방어)
CDN 도입 후 원본 서버 방화벽에서 M2Live CDN IP 대역의 요청만 허용하세요. 원본 IP가 외부에 노출되면 CDN을 우회한 직접 DDoS 공격이 가능합니다. CDN IP 대역은 기술지원팀에 문의하세요.
💡 Origin Server IP Protection (DDoS Defense)
After deploying CDN, configure your origin server firewall to allow requests only from M2Live CDN IP ranges. If the origin IP is exposed externally, direct DDoS attacks bypassing the CDN become possible. Contact the technical support team for CDN IP ranges.

② Host 헤더

② Host Header

CDN이 원본 서버에 요청을 보낼 때 HTTP Host 헤더에 어떤 값을 넣을지 결정합니다. 기본적으로는 클라이언트가 요청한 Host 값이 그대로 전달됩니다. 원본 서버가 Apache VirtualHost나 Nginx server_name으로 여러 도메인을 구분하거나, 포트가 포함된 Host를 요구하는 경우 이 옵션을 활성화해 맞춤 값을 입력합니다.

Determines what value is placed in the HTTP Host header when the CDN sends a request to the origin server. By default, the Host value requested by the client is forwarded as-is. Enable this option and enter a custom value when the origin uses Apache VirtualHost or Nginx server_name to distinguish multiple domains, or requires a Host with a port number.

CDN 설정 — Host 헤더
Host 헤더
Host 헤더변경
기본적으로 원본으로 요청하는 Host 헤더는 클라이언트가 요청한 Host 헤더와 동일합니다. 원본으로 요청할 Host 헤더를 지정하려면 이 옵션을 활성화하세요.
CDN 서버가 원본 서버로 요청할 때 사용할 Host 헤더 값을 지정합니다. 원본 서버가 지정한 Host 헤더를 처리할 수 있어야 합니다.
ex) www.example2.com:8080
값 미지정시 기본값이 적용됩니다.
CDN Settings — Host Header
Host Header
Override Host Header
By default, the Host header sent to the origin matches the Host header requested by the client. Enable this option to specify a custom Host header for origin requests.
Specify the Host header value the CDN server will use when sending requests to the origin server. The origin server must be able to handle the specified Host header.
ex) www.example2.com:8080
If left blank, the default value will be applied.

③ 중복요청 병합 (Request Coalescing)

③ Duplicate Request Merging (Request Coalescing)

동일한 콘텐츠에 대해 Cache MISS 상태에서 대량의 요청이 동시에 들어올 때, CDN이 원본 서버에 Origin Pull을 단 1회만 보내고 나머지 요청은 그 응답을 기다렸다가 한꺼번에 처리하는 기능입니다. Thunder Herd Problem(캐시 만료 시 원본에 요청이 폭주하는 현상)을 방지하는 핵심 설정입니다.

When a large volume of simultaneous requests arrive for the same content in a Cache MISS state, the CDN sends only a single Origin Pull to the origin server and holds all other requests until the response arrives, then serves them all at once. This is the key setting to prevent the Thunder Herd Problem (a surge of requests to the origin when cache expires).

CDN 설정 — 중복요청 병합
중복요청
중복요청 제거
원본부하를 최대한 낮추기 위해 원본서버로 중복요청이 발생하지 않도록 보장합니다. 동일요청은 분산된 노드에 의해 1회만 발생합니다.
CDN Settings — Duplicate Request Merging
Duplicate Requests
Deduplicate Requests
To minimize origin load, guarantees that duplicate requests are not forwarded to the origin server. Identical requests across distributed nodes are only sent once.
이 기능은 비활성화할 수 없습니다.
This feature cannot be disabled.

④ 연결대기 / 수신대기 시간 (Timeout)

④ Connection Wait / Receive Wait Time (Timeout)

CDN이 원본 서버와 통신할 때 적용되는 두 가지 타임아웃을 설정합니다. 타임아웃이 반복되면 CDN은 해당 원본을 장애로 간주하고 보조 원본으로 전환하거나 오류 응답을 반환합니다.

Configure the two types of timeouts applied when the CDN communicates with the origin server. If timeouts repeat, the CDN treats that origin as failed and switches to the secondary origin or returns an error response.

항목의미기본값설정 범위
연결대기 시간
(Connect Timeout)
CDN이 원본 서버에 TCP 연결을 맺을 때까지 기다리는 시간. 원본 서버가 연결 자체를 받지 못하는 경우(방화벽 차단, 서버 다운 등)에 적용됩니다. 3초 0 ~ 5초
(0 = 기본값 적용)
수신대기 시간
(Read Timeout)
TCP 연결 후 원본 서버가 데이터를 전송하지 않는 유휴 시간의 허용 한도. 연결은 됐지만 응답이 느린 경우(처리 지연, 대용량 파일 등)에 적용됩니다. 10초 0 ~ 60초
(0 = 기본값 적용)
ItemMeaningDefaultRange
Connection Wait Time
(Connect Timeout)
Time the CDN waits to establish a TCP connection to the origin server. Applies when the origin server cannot accept the connection (firewall block, server down, etc.).3 sec0–5 sec
(0 = apply default)
Receive Wait Time
(Read Timeout)
Idle time allowed after TCP connection is established before the origin transmits data. Applies when the connection succeeds but the response is slow (processing delay, large file, etc.).10 sec0–60 sec
(0 = apply default)
CDN 설정 — 타임아웃
연결대기 시간 (초)
기본 3초로 구성된 원본 연결대기 시간을 변경합니다.
3
초  (최대 5초, 0 입력 시 기본값 적용)
수신대기 시간 (초)
기본 10초로 구성된 원본 수신대기 시간을 변경합니다. 수신대기는 데이터가 상호 전송되지 않은 시간입니다.
10
초  (최대 60초, 0 입력 시 기본값 적용)
CDN Settings — Timeout
Connection Wait Time (sec)
Change the origin connection wait time (default: 3 sec).
3
sec  (max 5 sec; entering 0 applies the default)
Receive Wait Time (sec)
Change the origin receive wait time (default: 10 sec). Receive wait is the time during which no data is exchanged.
10
sec  (max 60 sec; entering 0 applies the default)
⚠ 타임아웃을 너무 길게 설정하면 장애 감지가 느려집니다
기다린다고 능사가 아닙니다. 빨리 실패하고 재시도하는 것이 서비스 내구성을 높이는 더 나은 방법입니다.
⚠ Setting timeouts too long slows down failure detection
Waiting longer is not always the answer. Failing fast and retrying is a better approach to improving service resilience.

⑤ 세션 재사용 (Keep-Alive / Connection Reuse)

⑤ Session Reuse (Keep-Alive / Connection Reuse)

CDN과 원본 서버 사이의 TCP 연결을 요청마다 새로 맺지 않고 재사용하는 기능입니다. 비활성화 시 매 HTTP 요청마다 TCP 3-Way Handshake가 새로 발생해 연결 오버헤드가 증가합니다. 원본 서버가 Keep-Alive를 지원하면 반드시 활성화를 권장합니다.

Reuses TCP connections between the CDN and origin server rather than establishing a new connection for each request. When disabled, a new TCP 3-Way Handshake is required for every HTTP request, increasing connection overhead. Strongly recommended to enable if the origin server supports Keep-Alive.

CDN 설정 — 세션 재사용
세션 재사용
세션 재사용 & 세션유지 시간설정
세션을 재사용하지 않습니다. 세션당 1회만 HTTP 요청/응답이 발생합니다.
CDN Settings — Session Reuse
Session Reuse
Session Reuse & Keep-Alive Duration
Sessions are not reused. Only one HTTP request/response occurs per session.

⑥ 비표준헤더 캐싱

⑥ Non-Standard Header Caching

원본 서버가 응답에 포함하는 HTTP 헤더 중 CDN이 캐시와 함께 저장할 헤더 범위를 결정합니다. 기본적으로 CDN은 보안 문제를 방지하기 위해 표준으로 정의된 헤더만 캐싱합니다. Set-Cookie 헤더는 어떤 설정에서도 캐싱되지 않습니다.

Determines the range of HTTP headers included in the origin server's response that the CDN will store alongside the cache. By default, the CDN caches only standard-defined headers to prevent security issues. The Set-Cookie header is never cached regardless of the setting.

모드동작권장 상황
표준 헤더만RFC 표준 헤더(Cache-Control, Content-Type, ETag 등)만 캐싱합니다.일반적인 정적 콘텐츠 CDN
확장 표준 헤더 + 비표준 헤더표준 헤더 + 원본 서버가 추가한 커스텀 헤더(X-Custom-* 등)까지 함께 캐싱합니다.커스텀 헤더를 클라이언트에 전달해야 하는 API/미디어 서비스
ModeBehaviorRecommended Use
Standard Headers OnlyOnly RFC standard headers (Cache-Control, Content-Type, ETag, etc.) are cached.General static content CDN
Extended Standard + Non-Standard HeadersStandard headers + custom headers added by the origin server (X-Custom-*, etc.) are cached together.API/media services that need to forward custom headers to clients
CDN 설정 — 비표준헤더 캐싱
비표준헤더 캐싱
비표준 HTTP 헤더 캐싱
안정성때문에 원본서버가 보내는 헤더 중 아래 표준헤더만을 선별적으로 캐싱한다.
어떤 설정이라도 Set-Cookie 헤더는 캐싱되지 않습니다.
목록: Cache-Control, Content-Disposition, Content-Encoding, Content-Length, Content-Type, Expire, Transfer-Encoding, Server, Content-Language, Content-Location, Content-MD5, Proxy-Authenticate, Retry-After, TE, Trailer, Warning, WWW-Authenticate
CDN Settings — Non-Standard Header Caching
Non-Standard Header Caching
Non-Standard HTTP Header Caching
For stability, only the following standard headers from the origin server response are selectively cached.
The Set-Cookie header is never cached regardless of the setting.
List: Cache-Control, Content-Disposition, Content-Encoding, Content-Length, Content-Type, Expire, Transfer-Encoding, Server, Content-Language, Content-Location, Content-MD5, Proxy-Authenticate, Retry-After, TE, Trailer, Warning, WWW-Authenticate

⑦ 원본 ETag 지원

⑦ Origin ETag Support

ETag는 콘텐츠의 버전을 나타내는 해시 값입니다. 원본 서버가 응답에 ETag를 포함하면 CDN이 이를 저장해 두고, 이후 캐시를 재검증할 때 원본에 If-None-Match 헤더로 전달합니다. 원본이 "변경 없음"을 확인하면 304로 응답해 불필요한 데이터 전송을 줄입니다.

ETag is a hash value representing the version of content. When the origin server includes an ETag in its response, the CDN stores it; during subsequent cache revalidation, it is sent to the origin as an If-None-Match header. If the origin confirms "no change," it responds with 304, reducing unnecessary data transmission.

CDN 설정 — 원본 ETag 지원
원본 ETag 지원
원본 ETag 저장 및 갱신지원
원본서버 응답의 ETag 헤더를 저장하고, 갱신시 If-None-Match 헤더를 추가한다.
CDN Settings — Origin ETag Support
Origin ETag Support
Store & Revalidate Origin ETag
Stores the ETag header from origin server responses and adds the If-None-Match header on revalidation.

⑧ Redirect 재요청

⑧ Redirect Re-request

원본 서버가 301/302 등 Redirect 응답을 반환했을 때 CDN이 Location 헤더의 URL로 자동으로 재요청해 최종 콘텐츠를 가져오는 기능입니다. 비활성화 시 CDN은 Redirect 응답 자체를 캐시하고 클라이언트에 그대로 전달해, 클라이언트가 직접 Redirect를 따라갑니다.

When the origin server returns a Redirect response such as 301/302, the CDN automatically re-requests the URL in the Location header to retrieve the final content. When disabled, the CDN caches the redirect response itself and forwards it to the client, leaving the client to follow the redirect directly.

항목설명예시
Redirect 상태코드재요청을 트리거할 HTTP 상태코드를 지정합니다. 3xx는 300번대 전체를 의미합니다.3xx, 301, 302
URL 패턴재요청을 적용할 URL 패턴. 빈값이면 전체 URL에 적용됩니다. 와일드카드 *는 모든 패턴을 의미합니다.*.mp4, /videos/*
ItemDescriptionExample
Redirect Status CodeSpecifies the HTTP status codes that trigger a re-request. 3xx means all 300-series codes.3xx, 301, 302
URL PatternURL pattern to apply the re-request to. If empty, applies to all URLs. Wildcard * matches all patterns.*.mp4, /videos/*
CDN 설정 — Redirect 재요청
Redirect 재요청
원본이 Redirect시 재요청
원본 서버가 Redirect를 응답하면, CDN 서버가 Location 값으로 재요청하여 콘텐츠를 가져옵니다. 최대 3회까지 재요청합니다.
Redirect 상태코드
3xx ×
원본서버가 응답하는 Redirect 상태코드를 지정합니다. 3xx는 모든 300 계열 응답코드를 나타냅니다.
URL 패턴
ex) *.mp4
특정 URL 패턴만 추적할 수 있습니다. 와일드카드 *는 모든 패턴을 의미합니다.
CDN Settings — Redirect Re-request
Redirect Re-request
Re-request on Origin Redirect
When the origin server returns a Redirect, the CDN re-requests the Location URL to fetch the content. Up to 3 re-requests are made.
Redirect Status Code
3xx ×
Specify the redirect status codes returned by the origin. 3xx represents all 300-series response codes.
URL Pattern
ex) *.mp4
You can target specific URL patterns. Wildcard * matches all patterns.
⚠ Redirect 재요청 활성화 시 캐시를 퍼지하세요
이 옵션을 활성화한다면, 기존 캐시를 삭제(Purge)하여 최신 콘텐츠를 서비스하도록 보장하세요. 이미 캐싱된 Redirect 응답이 그대로 남아 있으면 의도한 대로 동작하지 않을 수 있습니다.
⚠ Purge the cache when enabling Redirect re-request
If you enable this option, delete (Purge) the existing cache to ensure the latest content is served. If already-cached redirect responses remain, the feature may not behave as intended.

⑨ User-Agent 헤더

⑨ User-Agent Header

CDN이 원본 서버로 Origin Pull 요청을 보낼 때 전송하는 User-Agent 헤더 값을 설정합니다. 기본값은 M2Live 클라우드 서비스명입니다. 원본 서버가 특정 User-Agent만 허용하거나, 클라이언트 User-Agent를 그대로 전달해야 할 때 변경합니다.

Configure the User-Agent header value sent when the CDN makes Origin Pull requests to the origin server. The default value is the M2Live cloud service name. Change this when the origin server only allows a specific User-Agent, or when the client's User-Agent must be forwarded as-is.

CDN 설정 — User-Agent 헤더
User-Agent 헤더
원본요청 User-Agent 헤더변경
원본요청의 User-Agent 헤더를 변경할 수 있습니다. 기본 값은 M2Live 클라우드 서비스명입니다.
CDN Settings — User-Agent Header
User-Agent Header
Change Origin-Request User-Agent Header
The User-Agent header of the origin request can be changed. The default value is the M2Live cloud service name.

⑩ X-Forwarded-For (XFF) 헤더

⑩ X-Forwarded-For (XFF) Header

X-Forwarded-For는 클라이언트의 실제 IP 주소를 프록시(CDN)를 거쳐 원본 서버에 전달하기 위한 표준 HTTP 헤더입니다. CDN을 거치면 원본 서버는 CDN의 IP만 보게 되므로, 클라이언트 IP 기반의 로깅·접근 제어·지역 판단이 필요하다면 반드시 이 기능을 활성화해야 합니다.

X-Forwarded-For is a standard HTTP header for passing the client's real IP address through a proxy (CDN) to the origin server. Since the origin server only sees the CDN's IP when traffic passes through it, this feature must be enabled if client IP-based logging, access control, or geolocation is needed.

동작설명
비활성화클라이언트 X-Forwarded-For 헤더의 맨 좌측 필드만 원본 서버에 전달합니다.
활성화클라이언트가 보낸 X-Forwarded-For 헤더에 클라이언트 IP(=Remote Socket IP)를 추가해 전달합니다. 클라이언트가 헤더를 보내지 않았다면 클라이언트 IP만 원본에 전달합니다.
BehaviorDescription
DisabledOnly the leftmost field of the client X-Forwarded-For header is forwarded to the origin server.
EnabledThe client IP (= Remote Socket IP) is appended to the X-Forwarded-For header sent by the client and forwarded. If the client did not send the header, only the client IP is forwarded to the origin.
CDN 설정 — X-Forwarded-For 헤더
X-Forwarded-For 헤더
클라이언트 XFF 헤더 준수
비활성화 상태에서는 클라이언트 X-Forwarded-For헤더의 맨 좌측 필드만 원본서버에 전달됩니다.
활성화하면 클라이언트가 보낸 X-Forwarded-For헤더에 클라이언트 IP를 추가합니다. 만약 클라이언트가 해당 헤더를 보내지 않았다면 X-Forwarded-For헤더의 값으로 클라이언트 IP만 원본서버로 전달합니다.
CDN Settings — X-Forwarded-For Header
X-Forwarded-For Header
Honour Client XFF Header
When disabled, only the leftmost field of the client X-Forwarded-For header is forwarded to the origin server.
When enabled, the client IP is appended to the X-Forwarded-For header sent by the client. If the client did not send the header, only the client IP is forwarded to the origin server as the X-Forwarded-For value.

⑪ 요청헤더 변조

⑪ Request Header Manipulation

CDN이 원본 서버로 요청을 전달할 때 HTTP 헤더를 동적으로 추가·덮어쓰기·삭제하는 기능입니다. 특정 URL 패턴에만 선택적으로 적용할 수 있습니다.

Dynamically add, overwrite, or delete HTTP headers when the CDN forwards requests to the origin server. Can be applied selectively to specific URL patterns only.

항목설명예시
헤더 이름추가·변경·삭제할 HTTP 헤더 이름x-media-type
헤더에 설정할 값. 삭제 액션 선택 시 비워둡니다.video/mp4
URL 패턴이 규칙을 적용할 URL 패턴. 빈값이면 전체 URL에 적용됩니다./*.mp4
액션추가(없으면 추가, 있으면 덮어쓰기) / 강제 덮어쓰기 / 삭제 중 선택추가 (헤더가 존재하면 덮어쓰고 없다면 추가)
ItemDescriptionExample
Header NameName of the HTTP header to add, modify, or deletex-media-type
ValueValue to set for the header. Leave empty when the Delete action is selected.video/mp4
URL PatternURL pattern this rule applies to. If empty, applies to all URLs./*.mp4
ActionChoose from: Add (add if absent, overwrite if present) / Force Overwrite / DeleteAdd (overwrite if header exists, add if not)
CDN 설정 — 요청헤더 변조
요청헤더 변조
원본 요청시 헤더변조
CDN 서버가 원본 서버에 요청을 보낼 때 추가, 삭제할 HTTP 헤더를 정의합니다.
헤더 이름
ex) x-media-type
ex) video/mp4
URL 패턴
ex) /*.mp4
액션
CDN Settings — Request Header Manipulation
Request Header Manipulation
Header Manipulation on Origin Request
Define HTTP headers to add or delete when the CDN server sends a request to the origin server.
Header Name
ex) x-media-type
Value
ex) video/mp4
URL Pattern
ex) /*.mp4
Action

⑫ 응답헤더 변조

⑫ Response Header Manipulation

원본 서버가 CDN에 응답을 보낼 때 HTTP 헤더를 동적으로 추가·덮어쓰기·삭제하는 기능입니다. 요청헤더 변조와 동일한 구조지만 방향이 반대(원본 → CDN)입니다.

Dynamically add, overwrite, or delete HTTP headers when the origin server sends a response to the CDN. Identical structure to request header manipulation but in the opposite direction (origin → CDN).

CDN 설정 — 응답헤더 변조
응답헤더 변조
원본 응답시 헤더변조
원본 서버가 CDN 서버에 응답을 보낼 때 추가, 삭제할 HTTP 헤더를 정의합니다.
헤더 이름
ex) x-media-type
ex) video/mp4
URL 패턴
ex) /*.mp4
액션
CDN Settings — Response Header Manipulation
Response Header Manipulation
Header Manipulation on Origin Response
Define HTTP headers to add or delete when the origin server sends a response to the CDN server.
Header Name
ex) x-media-type
Value
ex) video/mp4
URL Pattern
ex) /*.mp4
Action
💡 헤더 변조 활용 예시
  • 요청헤더 추가: 원본 서버 인증을 위해 X-CDN-Secret: <token> 헤더를 모든 Origin Pull에 삽입
  • 응답헤더 추가: 원본이 CORS 헤더를 반환하지 않을 때 Access-Control-Allow-Origin: *를 응답에 삽입
  • 응답헤더 삭제: 원본이 반환하는 민감한 Server 헤더를 제거해 서버 정보 노출 방지
💡 Header Manipulation Use Cases
  • Add request header: Insert X-CDN-Secret: <token> header into all Origin Pulls for origin server authentication
  • Add response header: Inject Access-Control-Allow-Origin: * into responses when the origin does not return CORS headers
  • Delete response header: Remove the sensitive Server header returned by the origin to prevent server information exposure

⑬ 원본요청 URL Rewrite

⑬ Origin-Request URL Rewrite

클라이언트 요청 URL을 원본 서버에 전달하기 전에 정규표현식으로 변환합니다. 일반 설정의 URL Rewrite와 달리 캐시키에 영향을 주지 않습니다. 즉, 클라이언트 입장에서는 원래 URL로 캐시가 관리되지만, 원본 서버에는 변환된 URL로 요청이 전달됩니다.

Transforms the client request URL using regular expressions before forwarding it to the origin server. Unlike the URL Rewrite in General Settings, this does not affect the cache key. That is, from the client's perspective, cache is managed using the original URL, while the origin server receives the transformed URL.

구분일반 설정 URL Rewrite원본요청 URL Rewrite
변환 시점CDN 엣지 진입 시 (캐시키 변경됨)원본 전달 직전 (캐시키 불변)
캐시키 영향있음 — 변환된 URL로 캐시 저장없음 — 원본 URL로 캐시 저장
주요 용도클라이언트에게 노출되는 URL 구조 변경원본 서버의 내부 경로 매핑
CategoryGeneral Settings URL RewriteOrigin-Request URL Rewrite
Transform PointAt CDN edge entry (cache key is changed)Just before forwarding to origin (cache key unchanged)
Cache Key ImpactYes — cached using the transformed URLNo — cached using the original URL
Primary UseChanging the URL structure exposed to clientsInternal path mapping on the origin server
CDN 설정 — 원본요청 URL Rewrite
원본요청 URL Rewrite
원본요청 URL Rewrite 활성화
정규표현식을 기반으로 원본요청 URL을 재조합합니다. 캐싱키에 영향을 주지 않습니다.
도메인별로 독립 설정되므로 도메인이름은 입력하지 않습니다.
URL 패턴
ex) /img/(.*\.(jpg|png).*)​
치환
ex) /#1/m2/composite/watermark1
CDN Settings — Origin-Request URL Rewrite
Origin-Request URL Rewrite
Enable Origin-Request URL Rewrite
Reassembles the origin request URL using regular expressions. Does not affect the cache key.
Configured independently per domain — do not include the domain name.
URL Pattern
ex) /img/(.*\.(jpg|png).*)​
Replacement
ex) /#1/m2/composite/watermark1
CDN 설정
CDN Settings

SSL / HTTPS

클라이언트(브라우저)와 CDN 엣지 노드 간 HTTPS 암호화 통신을 설정합니다. SSL 인증서를 등록하면 보안 HTTPS 프로토콜을 통해 콘텐츠를 안전하게 전송할 수 있습니다.

Configure HTTPS encrypted communication between the client (browser) and CDN edge nodes. Registering an SSL certificate enables secure content delivery via the HTTPS protocol.

🔐 전체 구간 암호화 구성 (End-to-End)
  • 사용자 ↔ CDN 엣지: 이 페이지에서 등록한 SSL 인증서로 HTTPS 암호화
  • CDN 엣지 ↔ 원본 서버: 원본 연결/헤더 제어 탭에서 HTTPS 프로토콜 선택
  • 두 구간 모두 HTTPS로 설정해야 완전한 종단간(End-to-End) 암호화가 보장됩니다.
🔐 Full-Segment Encryption (End-to-End)
  • User ↔ CDN Edge: HTTPS encryption using the SSL certificate registered on this page
  • CDN Edge ↔ Origin Server: Select HTTPS protocol in the Origin Connection / Header Control tab
  • Both segments must be set to HTTPS to guarantee complete end-to-end encryption.

SSL/TLS 핵심 개념

SSL/TLS Core Concepts

📄
인증서 (Certificate)Certificate

CA(인증기관)가 발급한 공개 인증서. 도메인 소유권을 증명하며 브라우저가 신뢰하는 기관의 서명이 포함되어 있습니다. .pem, .crt, .cer 형식을 지원합니다.

A public certificate issued by a CA (Certificate Authority). Proves domain ownership and includes a signature from a browser-trusted authority. Supports .pem, .crt, .cer formats.

🔑
개인 키 (Private Key)Private Key

인증서와 쌍을 이루는 비밀 키. 암호화된 통신을 복호화하는 데 사용됩니다. 절대 외부에 노출해서는 안 됩니다. .pem, .key 형식을 지원합니다.

The private key paired with the certificate. Used to decrypt encrypted communications. Must never be exposed externally. Supports .pem, .key formats.

🔗
인증서 체인 (Chain/Bundle)Certificate Chain (Chain/Bundle)

중간 CA(Intermediate CA) 인증서 묶음. 브라우저가 루트 CA까지 신뢰 경로를 확인하는 데 필요합니다. 없으면 일부 브라우저/기기에서 경고가 발생합니다. .pem, .crt, .cer 형식을 지원합니다.

A bundle of Intermediate CA certificates. Required for browsers to verify the trust path to the root CA. Without it, some browsers/devices may show warnings. Supports .pem, .crt, .cer formats.

🛡
TLS 버전TLS Version

암호화 프로토콜 버전. TLSv1.2는 구형 클라이언트 호환성을 위해, TLSv1.3은 보안·성능 향상을 위해 권장됩니다. 기본값은 TLSv1.2 + TLSv1.3 동시 지원입니다.

Encryption protocol version. TLSv1.2 is recommended for compatibility with older clients; TLSv1.3 for improved security and performance. The default supports both TLSv1.2 and TLSv1.3 simultaneously.

인증서 파일 구성

Certificate File Configuration

파일역할지원 형식필수 여부
증명서
(Certificate)
CA가 발급한 공개 인증서. 도메인 소유권 및 서버 신원을 증명합니다. .pem .crt .cer 필수
개인 키
(Private Key)
인증서와 쌍을 이루는 비밀 키. 서버가 암호화된 통신을 복호화하는 데 사용됩니다. .pem .key 필수
인증서 체인
(Chain / Bundle)
중간 CA 인증서 묶음. 브라우저가 루트 CA까지 신뢰 경로를 추적하는 데 필요합니다. .pem .crt .cer 권장 (없으면 일부 환경에서 경고 발생)
TLS 버전 이 인증서에 적용할 TLS 프로토콜 버전을 지정합니다. 미선택 시 기본값(TLSv1.2, TLSv1.3)이 사용됩니다. TLSv1.2 / TLSv1.3 선택 (기본값 권장)
FileRoleSupported FormatsRequired
Certificate
(Certificate)
Public certificate issued by a CA. Proves domain ownership and server identity. .pem .crt .cer Required
Private Key
(Private Key)
Secret key paired with the certificate. Used by the server to decrypt encrypted communications. .pem .key Required
Certificate Chain
(Chain / Bundle)
Bundle of Intermediate CA certificates. Required for browsers to trace the trust path to the root CA. .pem .crt .cer Recommended (some environments show warnings without it)
TLS Version Specifies the TLS protocol version to apply to this certificate. If not selected, the default (TLSv1.2, TLSv1.3) is used. TLSv1.2 / TLSv1.3 Optional (default recommended)

HTTPS 활성화 및 인증서 관리

HTTPS Activation and Certificate Management

CDN 설정 — SSL
HTTPS
HTTPS 활성화
보안 HTTPS 프로토콜을 통해 콘텐츠를 전송하려면 SSL 인증서를 추가하세요. SSL 인증서는 웹 서버와 사용자 브라우저 간의 안전하고 암호화된 통신을 보장합니다.
증명서: _wildcard_.m2live.io_2025090589371.crt.pem
개인 키: _wildcard_.m2live.io_2025090589371.key.pem
인증서 체인: root-chain-bundle.pem
TLS 버전: TLSv1.2TLSv1.3
CDN Settings — SSL
HTTPS
Enable HTTPS
Add an SSL certificate to serve content over secure HTTPS. An SSL certificate ensures safe, encrypted communication between the web server and the user's browser.
Certificate: _wildcard_.m2live.io_2025090589371.crt.pem
Private Key: _wildcard_.m2live.io_2025090589371.key.pem
Certificate Chain: root-chain-bundle.pem
TLS Version: TLSv1.2TLSv1.3

SSL 인증서 추가 — 입력 항목

Add SSL Certificate — Input Fields

SSL 인증서 추가 버튼을 클릭하면 아래 팝업이 열립니다. 각 파일은 직접 내용을 붙여넣거나 파일 첨부 버튼으로 업로드할 수 있습니다.

Click the Add SSL Certificate button to open the popup below. Each file can be pasted directly or uploaded using the Attach File button.

SSL 인증서 추가
증명서
클릭하여 증명서 파일 선택 (.pem, .crt, .cer)
개인 키
클릭하여 개인 키 파일 선택 (.pem, .key)
인증서 체인
클릭하여 인증서 체인 파일 선택 (.pem, .crt, .cer)
TLS 버전 선택 (선택사항)
TLSv1.2 × TLSv1.3 ×
이 인증서에 적용할 TLS 버전을 선택하세요. 선택하지 않으면 기본값(TLSv1.2, TLSv1.3)이 사용됩니다.
취소
SSL 인증서 추가

TLS 버전 선택 가이드

TLS Version Selection Guide

버전보안 수준호환성권장 여부
TLSv1.0 낮음 — POODLE, BEAST 취약점 존재 구형 IE6~8, Android 2.x 사용 금지
TLSv1.1 낮음 — 현대적 암호 스위트 미지원 구형 브라우저 사용 금지
TLSv1.2 양호 — 현재 널리 사용 중 Chrome 30+, iOS 5+, Android 4.4+ 권장 (호환성)
TLSv1.3 높음 — 핸드셰이크 단축, 취약 암호 제거 Chrome 70+, Firefox 63+, iOS 12.2+ 권장 (보안)
VersionSecurity LevelCompatibilityRecommended
TLSv1.0 Low — POODLE, BEAST vulnerabilities Legacy IE6–8, Android 2.x Prohibited
TLSv1.1 Low — modern cipher suites not supported Legacy browsers Prohibited
TLSv1.2 Good — widely used today Chrome 30+, iOS 5+, Android 4.4+ Recommended (compatibility)
TLSv1.3 High — shorter handshake, weak ciphers removed Chrome 70+, Firefox 63+, iOS 12.2+ Recommended (security)
💡 TLSv1.2 + TLSv1.3 동시 설정 권장
TLSv1.3만 선택하면 구형 기기(Android 6 이하, iOS 11 이하 등)에서 접속 오류가 발생할 수 있습니다. TLSv1.2와 TLSv1.3을 함께 선택하면 최신 클라이언트는 TLSv1.3으로, 구형 클라이언트는 TLSv1.2로 자동 협상됩니다.
💡 Recommended: Enable Both TLSv1.2 and TLSv1.3
Selecting only TLSv1.3 may cause connection errors on older devices (Android 6 and below, iOS 11 and below, etc.). Selecting both TLSv1.2 and TLSv1.3 allows modern clients to negotiate TLSv1.3 while older clients automatically use TLSv1.2.

와일드카드 인증서 활용

Using Wildcard Certificates

와일드카드 인증서(*.myservice.com)는 동일 도메인의 모든 서브도메인에 하나의 인증서를 적용할 수 있습니다. 서브도메인마다 개별 인증서를 발급·등록·갱신하는 부담을 줄이고, 관리 포인트를 단일화할 수 있습니다.

A wildcard certificate (*.myservice.com) applies a single certificate to all subdomains of the same domain. This reduces the burden of issuing, registering, and renewing individual certificates per subdomain and centralizes management.

인증서 유형커버 범위관리 난이도
단일 도메인 cdn.myservice.com 1개만 서브도메인 추가마다 재발급 필요
와일드카드
(Wildcard)
*.myservice.com → 모든 1단계 서브도메인 갱신 1회로 전체 적용
Certificate TypeCoverage ScopeManagement Complexity
Single Domain cdn.myservice.com only Re-issuance required for each new subdomain
Wildcard
(Wildcard)
*.myservice.com → all first-level subdomains Single renewal applies to all
⚠ 인증서 만료는 서비스 중단으로 이어집니다
인증서가 만료되면 브라우저는 즉시 "연결이 안전하지 않습니다" 경고를 표시합니다. 최소한 만료 30일 전부터 갱신을 준비하고, 새 인증서 파일을 이 화면에서 다시 등록하세요. 남은 유효 기간은 도메인 관리 → 서비스 상태에서 확인할 수 있습니다.
⚠ Certificate Expiry Causes Service Outage
When a certificate expires, browsers immediately display a "Connection is not secure" warning. Start renewal at least 30 days before expiry and re-register the new certificate file on this screen. You can check the remaining validity period under Domain Management → Service Status.
🚫 개인 키(Private Key)는 절대 외부에 노출하지 마세요
개인 키가 유출되면 제3자가 동일한 인증서를 사용해 통신을 복호화하거나 위조 서버를 구성할 수 있습니다. 개인 키 파일은 등록 후 즉시 로컬에서 안전하게 보관하고, 불필요한 복사본은 삭제하세요.
🚫 Never Expose the Private Key Externally
If the private key is leaked, a third party can use the same certificate to decrypt communications or set up a spoofed server. After registration, immediately store the private key file securely on your local system and delete any unnecessary copies.

인증서 갱신 체크리스트

Certificate Renewal Checklist

단계작업비고
1CA에서 새 인증서 발급 (증명서 + 개인 키 + 체인)만료 30일 전 시작 권장
2SSL 탭 → 기존 인증서 편집 또는 삭제 후 재추가편집 시 서비스 중단 없이 교체 가능
3도메인 관리 → 서비스 상태에서 인증서 항목 "유효" 확인반영까지 최대 수 분 소요
4URL 진단으로 HTTPS 정상 응답 확인응답 코드 200, CDN 경유 여부 확인
StepTaskNotes
1Obtain a new certificate from the CA (certificate + private key + chain)Start at least 30 days before expiry
2SSL tab → Edit or Delete and re-add the existing certificateEditing allows replacement without service interruption
3Domain Management → Service Status: confirm certificate shows "Valid"May take up to several minutes to take effect
4Use URL Diagnostics to confirm normal HTTPS responseCheck response code 200 and CDN routing
CDN 설정
CDN Settings

캐시 (TTL)

TTL(Time To Live)은 콘텐츠가 CDN 엣지에 캐싱되는 시간입니다. TTL 우선순위 제어부터 응답코드별 TTL, no-cache/no-store 정책, 커스텀 TTL, 갱신 예외, 캐시키 구성, POST 캐싱, 바이패스까지 캐시와 관련된 모든 설정이 이 탭에 집중되어 있습니다.

TTL (Time To Live) is the duration content is cached at CDN edges. This tab covers all cache-related settings: TTL priority control, per-response-code TTL, no-cache/no-store policies, custom TTL, stale-while-revalidate, cache key configuration, POST caching, and bypass.

⚖️ TTL의 트레이드오프
  • TTL ↑ 길수록 → 히트율 높아짐, 원본 부하 감소 → 단, 콘텐츠 변경 시 이전 버전이 계속 제공될 수 있음
  • TTL ↓ 짧을수록 → 항상 최신 콘텐츠 제공 → 단, 히트율 낮아지고 원본 부하 증가
  • 최적 전략: 정적 콘텐츠 긴 TTL + URL 버전 해시(cache busting) + 변경 시 퍼지(Purge)
⚖️ TTL Trade-offs
  • Longer TTL ↑ → Higher hit ratio, reduced origin load → However, old versions may continue to be served when content changes
  • Shorter TTL ↓ → Always serves the latest content → However, hit ratio drops and origin load increases
  • Optimal strategy: Long TTL for static content + URL version hash (cache busting) + Purge on change

① TTL 적용 우선순위

① TTL Application Priority

CDN은 원본 서버의 Cache-Control 헤더를 기본적으로 준수하지만, 운영 필요에 따라 CDN 콘솔에서 강제로 우선순위를 변경할 수 있습니다. 우선순위 목록은 드래그로 순서를 조정할 수 있으며, 목록 상단일수록 높은 우선순위로 적용됩니다.

The CDN follows the origin server's Cache-Control header by default, but you can force-override priority from the CDN console as needed. The priority list can be reordered by dragging; items higher in the list have higher priority.

TTL 소스설명우선순위 기본값
커스텀 TTLURL 패턴별로 콘솔에서 직접 지정한 TTL1순위 (최고)
원본 max-age원본의 Cache-Control: max-age2순위
원본 no-cache원본이 Cache-Control: no-cache로 응답 — 매 요청마다 원본에서 재검증3순위
응답코드별 설정응답코드(2xx/3xx/4xx/5xx)별로 콘솔에서 지정한 TTL4순위
원본 no-store원본이 Cache-Control: no-store로 응답 — 캐싱 완전 불가5순위
원본 s-maxage원본이 CDN 전용으로 지정한 Cache-Control: s-maxage6순위 (최저)
TTL SourceDescriptionDefault Priority
Custom TTLTTL specified directly in the console per URL pattern1st (highest)
Origin max-ageThe origin's Cache-Control: max-age value2nd
Origin no-cacheOrigin responds with Cache-Control: no-cache — revalidate from origin on every request3rd
Per-Response-Code SettingTTL specified in the console per response code (2xx/3xx/4xx/5xx)4th
Origin no-storeOrigin responds with Cache-Control: no-store — caching completely prohibited5th
Origin s-maxageThe origin's Cache-Control: s-maxage value designated for CDN only6th (lowest)
CDN 설정 — TTL 적용 우선순위
TTL 적용 우선순위
TTL 적용 우선순위 변경
CDN 캐싱시간(TTL, Time To Live)은 원본응답의 Cache-Control을 준수하는 것이 기본이지만, 관련 헤더가 없거나, 운영편의성 측면에서 CDN에서 강제할 수도 있습니다.
TTL 우선순위 선택
⠿ 커스텀 TTL × ⠿ 원본 max-age × ⠿ 원본 no-cache × ⠿ 응답코드별 설정 × ⠿ 원본 no-store × ⠿ 원본 s-maxage ×
적용할 TTL 우선순위를 선택합니다.
CDN Settings — TTL Application Priority
TTL Application Priority
Change TTL Application Priority
CDN caching time (TTL, Time To Live) defaults to honoring the origin response's Cache-Control, but it can be overridden by the CDN when the relevant header is absent or for operational convenience.
Select TTL Priority
⠿ Custom TTL × ⠿ Origin max-age × ⠿ Origin no-cache × ⠿ Per-Response-Code Setting × ⠿ Origin no-store × ⠿ Origin s-maxage ×
Select the TTL priority to apply.

② 응답코드별 TTL

② TTL by Response Code

원본 서버의 HTTP 응답 상태코드 계열별로 TTL을 개별 설정합니다. 오류 응답(4xx/5xx)이 길게 캐싱되면 원본 문제가 해결된 후에도 사용자가 계속 오류를 받게 되므로 짧게 유지해야 합니다. 접속실패·수신실패 시의 동작 정책도 함께 설정합니다.

Set TTL individually per HTTP response status code family from the origin server. Error responses (4xx/5xx) should be kept short — if cached too long, users will continue receiving errors even after the origin issue is resolved. Also configure the policy for connection failures and receive failures.

응답코드의미권장 TTL이유
2xx
200, 201, 204 등
성공 응답. 정상적으로 반환된 콘텐츠86400초 (1일) 이상정적 콘텐츠는 길게 캐싱할수록 히트율 향상
3xx
301, 302, 303 등
리다이렉트 응답300초 (5분)리다이렉트 목적지가 변경될 수 있으므로 중간값 권장
4xx
400, 401, 403 등
클라이언트 오류 (잘못된 요청, 권한 없음 등)3초오류가 수정되면 즉시 정상 응답으로 전환되어야 함
5xx
500, 501, 502 등
서버 오류 (원본 장애, 과부하 등)3초원본 복구 후 즉시 정상 서비스 재개 필요
접속실패CDN이 원본에 TCP 연결 자체를 맺지 못한 경우3초이미 캐싱된 콘텐츠라면 접속실패 시간(초)만큼 TTL을 연장
수신실패연결 후 원본이 데이터를 전송하지 않은 경우3초신규 캐싱 시 원본 장애가 발생하면 500으로 응답하고 접속실패 시간만큼 유지
Response CodeMeaningRecommended TTLReason
2xx
200, 201, 204, etc.
Success response. Normally returned content86400s (1 day) or moreThe longer static content is cached, the higher the hit ratio
3xx
301, 302, 303, etc.
Redirect response300s (5 minutes)Redirect destination may change — a moderate value is recommended
4xx
400, 401, 403, etc.
Client error (bad request, unauthorized, etc.)3sMust switch to normal response immediately once the error is fixed
5xx
500, 501, 502, etc.
Server error (origin failure, overload, etc.)3sNormal service must resume immediately after origin recovery
Connection FailureCDN could not establish a TCP connection to the origin3sIf content is already cached, extend TTL by the connection failure duration (sec)
Receive FailureOrigin did not transmit data after connection was established3sIf origin failure occurs during new caching, respond with 500 and retain for the connection failure duration
CDN 설정 — 응답코드별 TTL
응답코드별 TTL
응답코드별 TTL 재정의
원본서버의 응답코드별로 TTL을 설정합니다.
2xx 계열 응답코드 TTL (200, 201, 204 등)
86400
3xx 계열 응답코드 TTL (301, 302, 303 등)
300
4xx 계열 응답코드 TTL (400, 401, 403 등)
3
5xx 계열 응답코드 TTL (500, 501, 502 등)
3
접속실패
3
수신실패
3
실패 시 정책:
  • 이미 캐싱된 콘텐츠라면 접속실패 시간(초)만큼 TTL을 연장한다.
  • 신규 캐싱시 원본 장애가 발생하면 500으로 응답하고 접속실패 시간만큼 유지합니다.
CDN Settings — TTL by Response Code
TTL by Response Code
Override TTL by Response Code
Set TTL per response code from the origin server.
2xx Response Code TTL (200, 201, 204, etc.)
86400
sec
3xx Response Code TTL (301, 302, 303, etc.)
300
sec
4xx Response Code TTL (400, 401, 403, etc.)
3
sec
5xx Response Code TTL (500, 501, 502, etc.)
3
sec
Connection Failure
3
sec
Receive Failure
3
sec
Failure Policy:
  • If content is already cached, extend TTL by the connection failure duration (sec).
  • If an origin failure occurs during new caching, respond with 500 and retain for the connection failure duration.

③ no-cache 응답 정책

③ no-cache Response Policy

원본 서버가 200번대 성공 상태코드(200 OK 등)를 Cache-Control: no-cache와 함께 응답한 경우, CDN이 어떻게 동작할지를 정의합니다. no-cache는 "캐시하지 말라"가 아니라 "캐시하되, 사용 전 반드시 원본에서 재검증하라"는 의미입니다.

Defines how the CDN behaves when the origin responds with a 2xx success code (e.g. 200 OK) along with Cache-Control: no-cache. no-cache does not mean "do not cache" — it means "cache it, but always revalidate with the origin before serving."

옵션동작권장 상황
기본값 사용CDN 기본 동작 방식을 따릅니다. (TTL: 5초)별도 정책이 필요 없는 일반 서비스
응답코드별 TTL 사용응답코드별 TTL 설정값을 그대로 적용합니다.응답코드별 TTL을 이미 세밀하게 설정한 경우
TTL 재정의no-cache 응답에만 별도의 TTL 값을 직접 지정합니다.no-cache 응답을 짧게 캐싱해 원본 부하를 줄이고 싶을 때
응답 즉시 만료캐싱하지 않고 매 요청마다 원본에서 가져옵니다.원본의 no-cache 지시를 CDN도 그대로 준수해야 할 때
OptionBehaviorRecommended Use
Use DefaultFollows the CDN default behavior. (TTL: 5 sec)General services that do not require a separate policy
Use TTL by Response CodeApplies the per-response-code TTL settings as configured.When per-response-code TTL is already configured in detail
Override TTLDirectly specify a separate TTL value for no-cache responses only.When you want to cache no-cache responses briefly to reduce origin load
Expire ImmediatelyDoes not cache; fetches from origin on every request.When the CDN must also honor the origin's no-cache directive exactly
CDN 설정 — no-cache 응답 정책
no-cache 응답 정책
원본서버가 200번대 상태코드(200 OK 등)를 Cache-Control: no-cache로 응답한 경우 동작방식을 정의합니다.
기본값 사용
응답코드별 TTL 사용
TTL 재정의
응답 즉시 만료
기본 동작 방식을 사용합니다.(TTL:5초)
CDN Settings — no-cache Response Policy
no-cache Response Policy
When origin returns 2xx with Cache-Control: no-cache, defines the CDN behavior.
Use Default
Use TTL by Response Code
Override TTL
Expire Immediately
Use the default behavior. (TTL: 5 sec)

④ no-store 응답 정책

④ no-store Response Policy

원본 서버가 200번대 성공 상태코드를 Cache-Control: no-store와 함께 응답한 경우의 동작을 정의합니다. no-store는 "이 응답을 어떠한 형태로도 저장해서는 안 된다"는 강력한 지시입니다. 로그인 응답, 결제 정보 등 민감 데이터에 주로 사용됩니다.

Defines the behavior when the origin responds with a 2xx success code along with Cache-Control: no-store. no-store is a strong directive meaning "this response must not be stored in any form." Primarily used for sensitive data such as login responses and payment information.

옵션동작권장 상황
기본값 사용CDN 기본 동작 방식을 따릅니다. (TTL: 5초)별도 정책이 필요 없는 일반 서비스
응답코드별 TTL 사용응답코드별 TTL 설정값을 그대로 적용합니다.응답코드별 TTL이 이미 세밀하게 설정된 경우
TTL 재정의no-store 응답에만 별도의 TTL 값을 직접 지정합니다.no-store 응답을 일부 캐싱하고 싶은 특수한 경우
캐싱하지 않고 바이패스캐시하지 않고 원본 응답을 클라이언트에 그대로 전달합니다.원본의 no-store 지시를 CDN도 완전히 준수해야 할 때 (민감 정보)
OptionBehaviorRecommended Use
Use DefaultFollows the CDN default behavior. (TTL: 5 sec)General services that do not require a separate policy
Use TTL by Response CodeApplies the per-response-code TTL settings as configured.When per-response-code TTL is already configured in detail
Override TTLDirectly specify a separate TTL value for no-store responses only.Special cases where you want to partially cache no-store responses
Bypass (no caching)Passes the origin response directly to the client without caching.When the CDN must fully honor the origin's no-store directive (sensitive data)
CDN 설정 — no-store 응답 정책
no-store 응답 정책
원본서버가 200번대 상태코드(200 OK 등)를 Cache-Control: no-store로 응답한 경우 동작방식을 정의합니다.
기본값 사용
응답코드별 TTL 사용
TTL 재정의
캐싱하지 않고 바이패스
기본 동작 방식을 사용합니다.(TTL:5초)
CDN Settings — no-store Response Policy
no-store Response Policy
When origin returns 2xx with Cache-Control: no-store, defines the CDN behavior.
Use Default
Use TTL by Response Code
Override TTL
Bypass (no caching)
Use the default behavior. (TTL: 5 sec)
🚫 민감 정보 응답은 반드시 no-store + 바이패스로 설정하세요
🚫 Always set sensitive data responses to no-store + bypass
민감한 정보라면 아예 CDN을 경유하지 않도록 하는 것이 더 나은 접근입니다. For sensitive data, not routing through the CDN at all is the better approach.

⑤ 커스텀 TTL

⑤ Custom TTL

URL 패턴별로 TTL을 직접 지정합니다. 원본의 Cache-Control 헤더와 무관하게 CDN에서 강제로 TTL을 적용할 수 있습니다. 규칙은 선언된 순서대로 매칭되므로, 더 구체적인 패턴을 목록 상단에 먼저 선언해야 합니다.

Specify TTL directly per URL pattern. CDN can enforce TTL regardless of the origin's Cache-Control header. Rules are matched in declaration order, so more specific patterns must be declared first.

항목설명예시
URL 패턴TTL을 적용할 URL 경로 패턴. 와일드카드 *를 사용할 수 있습니다./samples/*.js, /images/*
TTL해당 패턴에 적용할 캐시 유지 시간(초). 0을 입력하면 캐싱하지 않습니다.1800 (30분), 86400 (1일)
ItemDescriptionExample
URL PatternURL path pattern to apply the TTL to. Wildcard * can be used./samples/*.js, /images/*
TTLCache retention time (in seconds) to apply to the pattern. Entering 0 disables caching.1800 (30 min), 86400 (1 day)
CDN 설정 — 커스텀 TTL
커스텀 TTL
커스텀 TTL 활성화
URL 패턴으로 TTL을 지정한다. 선언된 순서대로 매칭하기 때문에 구체적인 표현을 먼저 선언해야 한다.
URL 패턴
ex) /samples/*.js
TTL
ex) 1800
CDN Settings — Custom TTL
Custom TTL
Enable Custom TTL
Specify TTL by URL pattern. Rules are matched in declaration order, so more specific patterns must be declared first.
URL Pattern
ex) /samples/*.js
TTL
ex) 1800
sec
💡 커스텀 TTL 패턴 선언 순서가 중요합니다
CDN은 커스텀 TTL 규칙을 위에서 아래로 순서대로 매칭하며 첫 번째로 일치하는 규칙을 적용합니다. 예를 들어 /images/thumb/*.jpg/images/*가 모두 있다면, /images/thumb/*.jpg를 반드시 위에 선언해야 합니다.
💡 Declaration Order of Custom TTL Patterns Matters
The CDN matches custom TTL rules from top to bottom in order and applies the first matching rule. For example, if both /images/thumb/*.jpg and /images/* exist, /images/thumb/*.jpg must be declared above the other.

⑥ 갱신 예외 TTL (Stale-While-Revalidate)

⑥ Stale-While-Revalidate TTL

캐시된 콘텐츠의 TTL이 만료됐을 때 원본 서버 장애 등의 이유로 갱신이 불가능한 경우, 만료된 캐시를 계속 서빙할지 여부를 설정합니다. 원본 장애 상황에서 사용자에게 오류 대신 이전 콘텐츠를 제공해 서비스 가용성을 높이는 데 활용됩니다.

Configures whether to continue serving expired cache when it cannot be refreshed (e.g., due to an origin failure) after the cached content's TTL expires. Used to improve service availability by serving previous content instead of an error during origin failures.

항목동작권장 여부
갱신불가시 TTL 연장원본 장애 등으로 캐싱된 콘텐츠 갱신이 불가능하면 TTL을 자동 연장해 기존 캐시를 계속 서빙합니다.활성화 권장
5xx TTL 연장캐싱된 콘텐츠 갱신 시점에 원본이 500번대 오류를 응답한 경우 TTL을 자동 연장합니다.활성화 권장
4xx TTL 연장캐싱된 콘텐츠 갱신 시점에 원본이 400번대 오류를 응답한 경우 TTL을 자동 연장합니다.선택적 — 4xx는 의도적 오류일 수 있으므로 신중히 설정
ItemBehaviorRecommended
Extend TTL When Refresh UnavailableIf cached content cannot be refreshed due to origin failure, automatically extends TTL and continues serving the existing cache.Enable recommended
5xx TTL ExtensionAutomatically extends TTL when the origin returns a 5xx error at the point of cache refresh.Enable recommended
4xx TTL ExtensionAutomatically extends TTL when the origin returns a 4xx error at the point of cache refresh.Optional — 4xx may be an intentional error; configure carefully
CDN 설정 — 갱신 예외 TTL
갱신 예외 TTL
갱신불가시 TTL 연장
원본장애등으로 캐싱된 콘텐츠 갱신할 수 없다면 TTL을 자동연장한다.
5xx TTL 연장
캐싱된 콘텐츠 갱신시점에 500번대 응답을 받은 경우, TTL을 자동연장한다.
4xx TTL 연장
캐싱된 콘텐츠 갱신시점에 400번대 응답을 받은 경우, TTL을 자동연장한다.
CDN Settings — Stale-While-Revalidate TTL
Stale-While-Revalidate TTL
Extend TTL When Refresh Unavailable
If cached content cannot be refreshed due to origin failure or similar, automatically extend the TTL.
5xx TTL Extension
If a 5xx response is received at the time of refreshing cached content, automatically extend the TTL.
4xx TTL Extension
If a 4xx response is received at the time of refreshing cached content, automatically extend the TTL.

⑦ 캐시키 구성 (Cache Key)

⑦ Cache Key Configuration

캐시키(Cache Key)는 CDN이 동일한 요청인지 구별하는 기준입니다. 캐시키를 구성하는 요소가 많을수록 더 다양하게 캐시가 분리되어 히트율이 낮아질 수 있습니다. 반대로 요소를 줄이면 히트율은 높아지지만 잘못된 콘텐츠가 제공될 위험이 있습니다.

The Cache Key is the criterion the CDN uses to identify identical requests. More components in the cache key means more cache variations and potentially lower hit ratios. Fewer components improve hit ratios but risk serving incorrect content.

항목활성화 시 동작비활성화 시 동작권장값
대소문자 구분URL의 대소문자를 구분해 별도 캐시로 저장
/Image.jpg/image.jpg = 별개 캐시
모두 소문자로 정규화해 동일 캐시로 처리활성화 권장 (원본이 대소문자를 구분하는 경우)
Accept-Encoding 헤더 구분클라이언트의 압축 지원 여부(gzip, br 등)에 따라 별도 캐시로 저장Accept-Encoding 헤더를 무시하고 Plain으로 동작활성화 권장 (압축 응답을 캐싱하는 경우)
QueryString 구분URL의 쿼리스트링(?key=value)을 포함해 캐시키 구성
/api?v=1/api?v=2 = 별개 캐시
쿼리스트링을 무시하고 동일 리소스로 처리활성화 권장 (버전 파라미터·필터 파라미터가 있는 경우)
Vary 헤더 지원원본의 Vary 헤더 값을 인식해 헤더 값별로 별도 캐시 저장
캐시 조건이 크게 늘어 HIT율 저하 가능
Vary 헤더를 무시비활성화 권장 (HIT율 저하 주의)
ItemBehavior When EnabledBehavior When DisabledRecommended Value
Case SensitivityDistinguishes uppercase/lowercase in URLs and stores as separate caches
/Image.jpg and /image.jpg = separate caches
Normalizes all to lowercase and treats as the same cacheEnable recommended (when origin is case-sensitive)
Distinguish Accept-Encoding HeaderStores as separate caches based on the client's compression support (gzip, br, etc.)Ignores Accept-Encoding header and operates in plain modeEnable recommended (when caching compressed responses)
Distinguish QueryStringIncludes the URL query string (?key=value) in the cache key
/api?v=1 and /api?v=2 = separate caches
Ignores query string and treats as the same resourceEnable recommended (when version or filter parameters are present)
Vary Header SupportRecognizes origin's Vary header values and stores separate caches per header value
Cache conditions increase greatly, potentially reducing HIT ratio
Ignores the Vary headerDisable recommended (caution: HIT ratio drops)
CDN 설정 — 캐시키 구성
캐싱키 구성
대소문자 구분
클라이언트 요청의 대소문자를 구분한다. 비활성화되면 모두 소문자로 처리한다.
Accept-Encoding 헤더 구분
클라이언트 요청 Accept-Encoding 헤더에 따라 개별로 캐싱한다. 비활성화되면 Accept-Encoding 헤더를 무시한다. (Plain으로 동작한다.)
QueryString 구분
클라이언트 요청의 QueryString을 구분한다. 비활성화되면 QueryString을 무시한다.
Vary 헤더 지원
Vary 헤더를 인식하여 콘텐츠를 구분한다. 일반적으로 Vary 헤더는 캐시 효율을 크게 저하시킨다.
이 옵션이 활성화되면 캐싱조건이 많아져 HIT율이 크게 저하되기 때문에 주의한다.
CDN Settings — Cache Key Configuration
Cache Key Configuration
Case Sensitivity
Distinguish uppercase and lowercase in client requests. When disabled, all characters are treated as lowercase.
Distinguish Accept-Encoding Header
Cache individually based on the client's Accept-Encoding header. When disabled, the Accept-Encoding header is ignored and operates in plain mode.
Distinguish Query String
Distinguish the QueryString in client requests. When disabled, QueryString is ignored.
Vary Header Support
Recognize the Vary header to differentiate content. In general, the Vary header significantly reduces cache efficiency.
When this option is enabled, caching conditions increase greatly, causing a significant drop in HIT ratio. Use with caution.

⑧ POST 캐싱

⑧ POST Caching

일반적으로 HTTP POST 요청은 상태를 변경하는 요청으로 간주되어 캐싱하지 않습니다. 이 기능을 활성화하면 POST 요청과 응답을 캐싱할 수 있습니다. 단, 최대 4KB까지의 POST Body만 캐싱 가능하며, 이를 초과하는 요청은 자동으로 바이패스(원본 직접 전달)됩니다.

HTTP POST requests are generally treated as state-changing and not cached. Enabling this feature allows POST requests and responses to be cached. However, only POST Bodies up to 4KB can be cached; requests exceeding this are automatically bypassed (forwarded directly to origin).

CDN 설정 — POST 캐싱
POST 캐싱
POST 요청/응답 캐싱
활성화하면 POST 요청/응답을 캐싱할 수 있습니다.
최대 4KB까지의 POST Body를 캐싱할 수 있습니다. 초과되는 POST 요청은 바이패스됩니다.
CDN Settings — POST Caching
POST Caching
POST Request/Response Caching
When enabled, POST requests/responses can be cached.
POST Bodies up to 4KB can be cached. POST requests exceeding this limit are bypassed.
⚠ POST 캐싱 활성화 전 반드시 확인하세요
⚠ Always check before enabling POST caching
POST 요청이 서버 상태를 변경하는 경우(데이터 생성·수정 등)에 캐싱을 활성화하면 이전 응답(201 created)이 재사용되어 의도치 않은 동작이 발생할 수 있습니다. 동일한 POST Body에 항상 동일한 응답을 반환하는 읽기 전용 API에만 사용을 권장합니다. If POST requests modify server state (create/update data), enabling caching can cause previous responses (201 Created) to be reused, leading to unintended behavior. Recommended only for read-only APIs that always return the same response for the same POST body.

⑨ 바이패스 (Bypass)

⑨ Bypass

특정 URL 패턴에 해당하는 요청을 CDN이 캐시하지 않고 원본 서버로 직접 전달합니다. 로그인·결제·실시간 데이터 등 캐싱이 부적합한 경로를 명시적으로 지정할 수 있습니다. 규칙은 선언된 순서대로 매칭되므로, 더 구체적인 패턴을 먼저 선언해야 합니다.

Forwards requests matching specific URL patterns directly to the origin server without CDN caching. Explicitly specify paths unsuitable for caching such as login, payment, or real-time data. Rules are matched in declaration order, so more specific patterns must be declared first.

항목설명예시
URL 패턴바이패스를 적용할 URL 경로 패턴. 명확한 경로 또는 와일드카드 패턴을 사용합니다./source/public.zip, /assets/*.js
액션현재는 bypass 단일 액션만 지원합니다. 해당 URL의 모든 요청을 원본으로 직접 전달합니다.bypass
ItemDescriptionExample
URL PatternURL path pattern to apply the bypass to. Use an explicit path or a wildcard pattern./source/public.zip, /assets/*.js
ActionCurrently only the bypass action is supported. Forwards all requests for that URL directly to the origin.bypass
CDN 설정 — 바이패스
바이패스
URL 패턴으로 바이패스
CDN 서버에 의해 캐싱되지 않는 URL 규칙을 설정합니다. 명확한 URL(/sample/api) 또는 와일드카드를 포함하는 패턴(/asset/*.js)으로 구성할 수 있습니다.
선언된 순서를 따릅니다. 항상 명확한 패턴이 우선하도록 구성하세요.
URL 패턴
ex) /source/public.zip, /assets/*.js 등...
액션
CDN Settings — Bypass
Bypass
Bypass by URL Pattern
Set URL rules that will not be cached by the CDN server. Can be configured with an explicit URL (/sample/api) or a wildcard pattern (/asset/*.js).
Rules are applied in declaration order. Always configure more specific patterns to take priority.
URL Pattern
ex) /source/public.zip, /assets/*.js, etc...
Action
💡 콘텐츠 유형별 권장 TTL 요약
💡 Recommended TTL Summary by Content Type
정적 콘텐츠 (긴 TTL 권장)
Static Content (Long TTL recommended)
이미지 (.jpg .png .avif .webp)Images (.jpg .png .avif .webp)86400s+
비디오 (.mp4 .webm)Video (.mp4 .webm)86400s+
CSS / JS (버전 해시 포함)CSS / JS (with version hash)86400s+
폰트 파일Font files604800s+
동적 콘텐츠 (짧은 TTL 또는 바이패스)
Dynamic Content (Short TTL or bypass)
HTML 페이지HTML pages0~300s
API 응답 (JSON)API response (JSON)0~60s
로그인 / 결제 페이지Login / Payment pages바이패스Bypass
실시간 데이터Real-time data0s (no-cache)
CDN 설정
CDN Settings

콘텐츠 처리

조건부 요청(304 Not Modified), If-Modified-Since 비교 정책, If-Range 헤더 처리, GZip/Brotli 압축을 설정합니다. 각 항목은 불필요한 데이터 전송을 줄여 대역폭 비용을 절감하고 응답 속도를 높이는 데 기여합니다.

Configure conditional requests (304 Not Modified), If-Modified-Since comparison policy, If-Range header handling, and GZip/Brotli compression. Each setting helps reduce unnecessary data transfer, lower bandwidth costs, and improve response speed.

🔄
조건부 요청 (304 Not Modified)Conditional Request (304 Not Modified)

브라우저가 이미 캐싱한 리소스를 재요청할 때, CDN이 콘텐츠 변경 여부만 확인하고 변경이 없으면 헤더만 담긴 304 응답을 반환합니다. 전체 파일을 재전송하지 않아 대역폭과 응답 시간이 크게 절감됩니다.

When a browser re-requests a cached resource, the CDN checks only for content changes and returns a header-only 304 response if unchanged. Avoids re-sending the full file, significantly reducing bandwidth and response time.

🕐
If-Modified-Since

브라우저가 캐싱한 리소스의 마지막 수정 시각을 헤더로 전달합니다. CDN이 캐싱된 Last-Modified 값과 비교해 변경 여부를 판단합니다.

Sends the last modified time of the browser's cached resource as a header. The CDN compares it against the cached Last-Modified value to determine whether the content has changed.

🏷
If-None-Match (ETag)

브라우저가 캐싱한 리소스의 ETag(콘텐츠 해시)를 헤더로 전달합니다. CDN이 현재 캐싱된 ETag와 비교해 변경 여부를 판단합니다. 시각 비교보다 정밀합니다.

Sends the ETag (content hash) of the browser's cached resource as a header. The CDN compares it against the currently cached ETag. More precise than time-based comparison.

📹
If-Range / Range Request

비디오 탐색(seek) 등에서 파일의 특정 바이트 구간만 요청하는 방식. If-Range는 캐싱된 버전이 유효한지 먼저 확인하고, 유효하면 206 Partial Content로 응답합니다.

A method of requesting only a specific byte range of a file, used in video seeking. If-Range first checks whether the cached version is still valid, and if so, responds with 206 Partial Content.

📦
GZip / Brotli 압축GZip / Brotli Compression

HTML, CSS, JS, JSON 등 텍스트 콘텐츠를 압축 전송합니다. 이미지·비디오는 이미 압축된 포맷이므로 적용하지 않습니다. Brotli는 GZip 대비 20~26% 추가 압축률을 제공합니다.

Compresses text content such as HTML, CSS, JS, and JSON for delivery. Images and video are already compressed formats and should not be re-compressed. Brotli provides 20–26% additional compression over GZip.

① 클라이언트 304 정책 (조건부 요청)

① Client 304 Policy (Conditional Request)

브라우저가 보낸 조건부 헤더(If-Modified-Since, If-None-Match)를 CDN이 어떤 기준으로 평가해 304를 반환할지 결정합니다. 두 헤더를 함께 사용하는 경우 어느 하나라도 일치하면 304로 판단할지, 특정 헤더만 사용할지를 선택합니다.

Determines how the CDN evaluates conditional headers (If-Modified-Since, If-None-Match) sent by the browser to decide when to return 304. When both headers are used, choose whether a match on either one triggers 304, or only a specific header is used.

옵션동작권장 상황
일부 일치 권장 If-Modified-Since 또는 If-None-Match 중 하나라도 일치하면 304로 판단합니다. 두 헤더를 모두 활용해 최대한 304를 반환합니다. 대부분의 서비스 — 대역폭 절감 효과 최대화
If-Modified-Since만 If-Modified-Since 헤더만으로 판단합니다. ETag를 무시합니다. 원본 서버가 ETag를 생성하지 않는 경우
If-None-Match만 If-None-Match(ETag) 헤더만으로 판단합니다. 수정 시각을 무시합니다. 콘텐츠 해시 기반으로만 변경을 감지하고 싶은 경우
OptionBehaviorRecommended Use
Partial Match Recommended Returns 304 if either If-Modified-Since or If-None-Match matches. Uses both headers to maximize 304 responses. Most services — maximize bandwidth savings
If-Modified-Since Only Evaluates using only the If-Modified-Since header. Ignores ETag. When the origin server does not generate ETags
If-None-Match Only Evaluates using only the If-None-Match (ETag) header. Ignores modification time. When change detection based solely on content hash is desired
CDN 설정 — 클라이언트 304 정책
클라이언트 304 정책
클라이언트가 보낸 If-Modified-Since, If-None-Match 헤더에 대한 처리 방법을 설정합니다.
일부 일치
If-Modified-Since
If-None-Match
If-Modified-Since 또는 If-None-Match 중 하나라도 일치하면 304로 판단합니다.
CDN Settings — Client 304 Policy
Client 304 Policy
Configure how the CDN handles If-Modified-Since and If-None-Match headers sent by the client.
Partial Match
If-Modified-Since
If-None-Match
Returns 304 if either If-Modified-Since or If-None-Match matches.

② If-Modified-Since 조건판단

② If-Modified-Since Condition Evaluation

브라우저가 보낸 If-Modified-Since 값과 CDN이 캐싱한 Last-Modified 값을 어떻게 비교할지 정의합니다. HTTP 표준에서는 "같거나 큰 경우"(이상)를 변경 없음으로 판단하지만, 엄격하게 "정확히 일치하는 경우"만 304로 판단하는 옵션도 제공합니다.

Defines how to compare the browser's If-Modified-Since value against the CDN's cached Last-Modified value. The HTTP standard treats "equal or greater" as unchanged, but a stricter option is also available that returns 304 only on an exact match.

옵션304 반환 조건권장 상황
같거나, 큰 경우 권장 클라이언트 값 ≥ 캐싱된 Last-Modified 값이면 304 반환. HTTP 표준 동작 방식. 대부분의 서비스 — 표준 준수 및 대역폭 절감
일치할 경우 클라이언트 값 = 캐싱된 Last-Modified 값이 정확히 동일한 경우에만 304 반환. 콘텐츠 수정 시각이 자주 바뀌는 서비스에서 엄격하게 재검증을 강제할 때
Option304 Return ConditionRecommended Use
Equal or Greater RecommendedReturns 304 if client value ≥ cached Last-Modified value. Standard HTTP behavior.Most services — standards compliance and bandwidth savings
Exact Match OnlyReturns 304 only when client value exactly equals the cached Last-Modified value.Services where content modification time changes frequently and strict revalidation is required
CDN 설정 — If-Modified-Since 조건판단
If-Modified-Since 조건판단
클라이언트가 보낸 If-Modified-Since 값의 비교 정책을 설정합니다.
같거나, 큰 경우
일치할 경우
클라이언트의 값이 캐싱된 Last-Modified 값보다 크거나 같은 경우 304로 판단합니다.
CDN Settings — If-Modified-Since Evaluation
If-Modified-Since Evaluation
Configure the comparison policy for the If-Modified-Since value sent by the client.
Equal or Greater
Exact Match
Returns 304 if the client value is equal to or greater than the cached Last-Modified value.
💡 304 응답의 대역폭 절감 효과
💡 Bandwidth savings from 304 responses
예를 들어 100KB 이미지를 1,000번 재요청할 때 모두 304로 처리되면 전체 전송량은 헤더 크기(~1KB) × 1,000 = 약 1MB에 불과합니다. 200 응답으로 처리 시 100MB가 소비되는 것과 비교하면 99% 대역폭 절감이 가능합니다. For example, re-requesting a 100KB image 1,000 times with all served as 304 results in total transfer of ~header size (~1KB) × 1,000 = approximately 1MB. Compared to 100MB consumed with 200 responses, this achieves 99% bandwidth savings.

③ If-Range 헤더 처리

③ If-Range Header Handling

If-Range 헤더는 브라우저가 범위 요청(Range Request)을 보내기 전에 "내가 캐싱한 버전과 CDN이 가진 버전이 동일한가?"를 먼저 확인하는 전제 조건 헤더입니다.

The If-Range header is a precondition header that the browser uses before sending a Range Request to first verify: "Is the version I cached the same as what the CDN has?"

상황If-Range 활성화 시 동작If-Range 비활성화 시 동작
캐싱된 버전이 유효한 경우 206 Partial Content — 요청한 바이트 구간만 전송 If-Range 헤더를 무시하고 항상 200 전체 응답 또는 Range만 처리
캐싱된 버전이 변경된 경우 200 OK — 전체 파일을 새로 전송
SituationBehavior with If-Range EnabledBehavior with If-Range Disabled
Cached version is valid 206 Partial Content — only the requested byte range is transmitted Ignores the If-Range header and always responds with 200 full response or processes Range only
Cached version has changed 200 OK — the entire file is re-transmitted
CDN 설정 — If-Range 헤더
If-Range 헤더
If-Range 헤더 처리
If-Range 헤더를 준수하여 처리한다. 유효하다면 206 Partial Content, 아니라면 200 OK로 응답한다.
CDN Settings — If-Range Header
If-Range Header
If-Range Header Handling
Honors the If-Range header. Responds with 206 Partial Content if valid, or 200 OK otherwise.
💡 비디오 스트리밍 서비스라면 반드시 활성화하세요
💡 Must be enabled for video streaming services
비디오 플레이어가 타임라인을 탐색(seek)할 때는 Range Request로 특정 구간의 데이터만 요청합니다. If-Range가 비활성화되면 CDN이 탐색 시마다 전체 파일을 다시 전송할 수 있어 대역폭 낭비와 버퍼링이 발생합니다. 비디오·오디오 파일을 서빙하는 경우 반드시 활성화하세요. When a video player seeks through the timeline, it uses Range Requests to fetch only the relevant byte range. If If-Range is disabled, the CDN may re-send the entire file on each seek, causing bandwidth waste and buffering. Always enable when serving video or audio files.

④ GZip / Brotli 압축

④ GZip / Brotli Compression

텍스트 기반 콘텐츠(HTML, CSS, JS, JSON, XML 등)를 CDN이 압축해 전송합니다. 브라우저가 압축을 지원하면 Accept-Encoding 헤더로 알려주고, CDN은 그에 맞는 압축 포맷으로 응답합니다. 원본이 이미 압축된 콘텐츠를 반환한다면 CDN은 재압축하지 않고 압축 상태를 유지합니다.

The CDN compresses text-based content (HTML, CSS, JS, JSON, XML, etc.) before delivery. Browsers signal compression support via the Accept-Encoding header, and the CDN responds with the matching compression format. If the origin already returns compressed content, the CDN preserves the compression state without re-compressing.

압축 방식압축률브라우저 지원권장 상황
GZip 일반적으로 60~80% 크기 감소 모든 현대 브라우저 지원 (IE6+) 호환성이 중요한 서비스
Brotli GZip 대비 20~26% 추가 압축 Chrome 50+, Firefox 44+, Safari 11+, Edge 15+ 최신 브라우저 대상 서비스, 성능 최적화 우선
Compression MethodCompression RatioBrowser SupportRecommended Use
GZip Typically 60–80% size reduction All modern browsers (IE6+) Services where compatibility is critical
Brotli 20–26% additional compression over GZip Chrome 50+, Firefox 44+, Safari 11+, Edge 15+ Services targeting modern browsers, performance optimization priority
CDN 설정 — GZip/Brotli 압축
GZip/Brotli 압축
GZip/Brotli 압축
콘텐츠를 GZip 또는 Brotli로 압축하여 전송합니다.
GZip
Brotli
GZip을 우선 압축알고리즘으로 사용합니다.
원본이 이미 콘텐츠를 압축한다면 압축상태를 유지합니다.
압축할 대상 URL 규칙을 설정합니다. 명확한 URL(/sample/api) 또는 와일드카드를 포함하는 패턴(/asset/*.js)으로 구성할 수 있습니다.
선언된 순서를 따릅니다. 항상 명확한 패턴이 우선하도록 구성하세요.
URL 패턴
/*.js*
URL 패턴
/*.css
URL 패턴
/*.scss
CDN Settings — GZip/Brotli Compression
GZip/Brotli Compression
GZip/Brotli Compression
Compresses content using GZip or Brotli before delivery.
GZip
Brotli
Uses GZip as the primary compression algorithm.
Preserve compression state if the origin already compresses content.
Configure URL rules for compression targets. Use explicit URLs (/sample/api) or wildcard patterns (/asset/*.js).
Follows declaration order. Always place more specific patterns first.
URL Pattern
/*.js*
URL Pattern
/*.css
URL Pattern
/*.scss

압축 적용 권장 대상

Recommended Compression Targets

콘텐츠 유형압축 적용이유
HTML, CSS, JS, JSON, XML, SVG, 폰트(woff)적용 권장텍스트 기반으로 압축률이 높음 (60~80% 크기 감소)
JPEG, PNG, WebP, AVIF, GIF적용 불필요이미 손실/무손실 압축된 바이너리 포맷 — 재압축 시 오히려 크기 증가 가능
MP4, WebM, MP3, AAC적용 불필요미디어 코덱이 자체적으로 압축 — 추가 압축 효과 없음
ZIP, gz, br 등 압축 아카이브적용 불필요이미 압축된 파일 — 재압축 시 크기 증가 또는 처리 부하만 발생
Content TypeApply CompressionReason
HTML, CSS, JS, JSON, XML, SVG, Font (woff)RecommendedText-based with high compression ratio (60–80% size reduction)
JPEG, PNG, WebP, AVIF, GIFNot NeededAlready lossy/lossless compressed binary format — re-compressing may increase size
MP4, WebM, MP3, AACNot NeededMedia codecs compress internally — no additional compression benefit
ZIP, gz, br and other compressed archivesNot NeededAlready compressed — re-compressing only increases size or processing load
💡 "원본이 이미 압축한다면 압축상태를 유지합니다" 옵션
💡 "Preserve compression if origin already compresses" option
원본 서버가 이미 gzip/brotli로 압축한 응답을 CDN으로 보낼 때, CDN이 이를 풀고 다시 압축하지 않고 원본의 압축 상태를 그대로 클라이언트에 전달합니다. 원본에서 압축을 직접 제어하고 싶다면 이 옵션을 활성화하세요. When the origin server already sends a gzip/brotli-compressed response to the CDN, the CDN passes the compressed state through to the client without decompressing and re-compressing it. Enable this option if you want to control compression directly at the origin.
⚠ 이미지·비디오 URL 패턴은 압축 규칙에서 제외하세요
⚠ Exclude image and video URL patterns from compression rules
/*처럼 모든 URL에 압축을 적용하면 이미 압축된 이미지·비디오 파일에도 GZip/Brotli 처리를 시도합니다. 압축 효과는 없고 CDN 처리 부하만 증가합니다. 반드시 /*.js, /*.css, /*.html 등 텍스트 파일 패턴만 등록하세요. Applying compression to all URLs like /* will attempt GZip/Brotli processing on already-compressed image and video files. There is no compression benefit and CDN processing load only increases. Register only text file patterns such as /*.js, /*.css, /*.html.
CDN 설정
CDN Settings

접근 제어

HTTP→HTTPS 강제 리다이렉트, URL·IP·헤더 기반 접근 제어 규칙, OPTIONS 메서드 응답, HTTP 메서드 허용 범위를 설정합니다. CDN 엣지에서 요청을 선별적으로 허용·차단해 원본 서버 부하를 줄이고 보안을 강화합니다.

Configure forced HTTP→HTTPS redirect, URL/IP/header-based access control rules, OPTIONS method response, and HTTP method allowlist. Selectively allow or block requests at the CDN edge to reduce origin server load and strengthen security.

🔒
HTTP → HTTPS 리다이렉트HTTP → HTTPS Redirect

HTTP로 들어오는 모든 요청을 301(영구 리다이렉트)로 HTTPS로 전환합니다. 평문 통신을 차단해 도청·중간자 공격을 방지합니다.

Redirects all incoming HTTP requests to HTTPS with a 301 (permanent redirect). Blocks plaintext communication to prevent eavesdropping and man-in-the-middle attacks.

🛡
접근제어 규칙Access Control Rules

URL 패턴, 클라이언트 IP, 헤더(Referer, User-Agent) 세 가지 조건을 조합해 요청을 허용(Allow) 또는 거부(Deny)합니다. 규칙은 선언 순서대로 평가됩니다.

Combine three conditions — URL pattern, client IP, and headers (Referer, User-Agent) — to Allow or Deny requests. Rules are evaluated in declaration order.

🌐
OPTIONS / CORS Preflight

브라우저는 Cross-Origin 요청 전 OPTIONS 메서드로 사전 확인(Preflight)을 보냅니다. CDN이 200으로 응답하도록 설정해야 CORS 요청이 정상 처리됩니다.

Before Cross-Origin requests, browsers send a Preflight check using the OPTIONS method. The CDN must be configured to respond with 200 for CORS requests to work correctly.

🔑
HTTP 메서드 제한HTTP Method Restriction

CDN에서 허용할 HTTP 메서드를 명시적으로 지정합니다. 정적 콘텐츠 CDN이라면 GET/HEAD만 허용하고 나머지는 원본으로 바이패스하거나 차단합니다.

Explicitly specify the HTTP methods allowed by the CDN. For static content CDNs, allow only GET/HEAD and bypass or block the rest to the origin.

① HTTP to HTTPS 리다이렉트

① HTTP to HTTPS Redirect

HTTP(포트 80)로 들어오는 모든 요청을 CDN 엣지에서 HTTPS(포트 443)로 301 영구 리다이렉트합니다. 클라이언트가 암호화되지 않은 평문으로 접속하는 것을 원천 차단하며, 브라우저는 이후 해당 도메인에 자동으로 HTTPS로 접속합니다.

All requests arriving on HTTP (port 80) are permanently redirected (301) to HTTPS (port 443) at the CDN edge. Blocks all plaintext connections from clients; browsers will automatically connect via HTTPS for that domain thereafter.

CDN 설정 — HTTP to HTTPS 리다이렉트
HTTP to HTTPS 리다이렉트
HTTP 접근을 HTTPS로 리다이렉트
HTTP로 접근된 모든 요청은 HTTPS로 리다이렉트됩니다.
CDN Settings — HTTP to HTTPS Redirect
HTTP to HTTPS Redirect
Redirect HTTP access to HTTPS
All requests received over HTTP are redirected to HTTPS.
💡 HSTS(HTTP Strict Transport Security)와 함께 사용하면 더 강력합니다
💡 Even stronger when combined with HSTS (HTTP Strict Transport Security)
HTTP→HTTPS 리다이렉트는 첫 요청에서만 동작합니다. 클라이언트 헤더 제어 탭에서 Strict-Transport-Security 헤더를 추가하면 브라우저가 이후 요청부터 자동으로 HTTPS만 사용해 첫 요청의 평문 노출도 차단할 수 있습니다. HTTP→HTTPS redirect only applies to the first request. Adding the Strict-Transport-Security header in the Client Header Control tab causes browsers to automatically use HTTPS from subsequent requests, blocking even the first request's plaintext exposure.

② 접근제어 규칙

② Access Control Rules

URL 패턴, 클라이언트 IP, 요청 헤더(Referer, User-Agent 등) 세 가지 조건을 조합해 특정 요청을 허용(Allow) 또는 거부(Deny)합니다. 규칙은 선언된 순서대로(위→아래) 평가되며, 첫 번째로 일치하는 규칙이 적용됩니다. 더 구체적인 조건을 먼저 선언해야 합니다.

Combine three conditions — URL pattern, client IP, and request headers (Referer, User-Agent, etc.) — to Allow or Deny specific requests. Rules are evaluated top-to-bottom in declaration order; the first matching rule is applied. More specific conditions must be declared first.

조건 항목설명입력 예시
URL 패턴 접근을 제어할 요청 경로 패턴. 와일드카드 * 사용 가능. 비워두면 전체 URL에 적용됩니다. /m2livecloud/healthcheck
/admin/*
/*.env
IP 패턴 허용·차단할 클라이언트 IP 또는 IP 대역. CIDR 표기 또는 범위 표기를 지원합니다. 192.168.1.1
192.168.1.1-255
10.0.0.0/8
헤더 패턴 요청 헤더 값으로 조건을 설정합니다. Referer(Hotlinking 방지), User-Agent(봇 차단) 등에 활용합니다. referer
user-agent
동작 (Action) 조건 일치 시 수행할 동작. 거부(Deny)는 응답코드와 함께 접근을 차단하고, 허용(Allow)은 명시적으로 통과시킵니다. 거부(Deny) / 허용(Allow)
응답코드 거부(Deny) 시 클라이언트에 반환할 HTTP 상태코드. 기본값은 403입니다. 403 Forbidden
404 Not Found
200 OK
대소문자 구분 헤더 값 매칭 시 대소문자를 구분할지 여부. URL·IP는 항상 대소문자 무관하게 처리됩니다. 체크박스 활성화 시 구분
Condition ItemDescriptionInput Example
URL Pattern Request path pattern to control access. Wildcard * supported. Leave empty to apply to all URLs. /m2livecloud/healthcheck
/admin/*
/*.env
IP Pattern Client IP or IP range to allow or block. Supports CIDR notation or range notation. 192.168.1.1
192.168.1.1-255
10.0.0.0/8
Header Pattern Set conditions based on request header values. Used for Referer (hotlinking prevention), User-Agent (bot blocking), etc. referer
user-agent
Action Action to take when condition matches. Deny blocks access with a response code; Allow explicitly passes the request through. Deny / Allow
Response Code HTTP status code returned to the client on Deny. Default is 403. 403 Forbidden
404 Not Found
200 OK
Case Sensitive Whether to apply case-sensitive matching for header values. URL and IP are always case-insensitive. Enable checkbox to distinguish case
CDN 설정 — 접근제어 규칙
접근제어 추가
URL, 헤더, IP등 다양한 조건으로 콘텐츠 접근을 제어합니다.
패턴
URL 패턴
/m2livecloud/healthcheck
IP 패턴
ex) 192.168.1.1-255 or AP
헤더 패턴
ex) referer or user-agent
동작
응답코드
거부(Deny) 시 사용할 응답코드 (기본:403)
CDN Settings — Access Control Rules
Access Control
Control content access using various conditions such as URL, headers, and IP.
Pattern
URL Pattern
/m2livecloud/healthcheck
IP Pattern
ex) 192.168.1.1-255 or AP
Header Pattern
ex) referer or user-agent
Action
Response Code
Response code to return to client on Deny (default: 403)

접근제어 활용 시나리오

Access Control Usage Scenarios

목적URL 패턴IP 패턴헤더 패턴동작응답코드
관리자 페이지 IP 허용/admin/*203.0.113.0/24허용
관리자 페이지 외부 차단/admin/*거부403
Hotlinking(이미지 직링크) 방지/images/*referer (외부 도메인)거부403
특정 봇 User-Agent 차단user-agent (악성 봇 식별값)거부403
민감 파일 외부 노출 차단/*.env, /*.git거부404
헬스체크 엔드포인트 허용/healthcheck허용
PurposeURL PatternIP PatternHeader PatternActionResponse Code
Allow admin page by IP/admin/*203.0.113.0/24Allow
Block admin page externally/admin/*Deny403
Prevent hotlinking (image direct links)/images/*referer (external domain)Deny403
Block specific bot User-Agentuser-agent (malicious bot identifier)Deny403
Block sensitive file external exposure/*.env, /*.gitDeny404
Allow health check endpoint/healthcheckAllow
⚠ 규칙 순서가 결과를 결정합니다
⚠ Rule order determines the outcome
규칙은 위에서 아래로 순서대로 평가되며 첫 번째로 일치하는 규칙만 적용됩니다. 예를 들어 "특정 IP 허용" 규칙보다 "전체 차단" 규칙이 위에 있다면, 허용된 IP도 차단됩니다. 허용(Allow) 규칙을 거부(Deny) 규칙보다 항상 위에 선언하세요. Rules are evaluated top-to-bottom and only the first matching rule is applied. For example, if a "block all" rule is above a "allow specific IP" rule, even the allowed IP will be blocked. Always declare Allow rules above Deny rules.

③ OPTIONS 메서드 응답

③ OPTIONS Method Response

브라우저는 다른 도메인(Cross-Origin)에 fetch, XMLHttpRequest 등으로 요청하기 전에 CORS Preflight 요청을 OPTIONS 메서드로 먼저 보냅니다. CDN이 OPTIONS 요청에 어떻게 응답할지 결정합니다.

Before sending cross-domain requests via fetch, XMLHttpRequest, etc., browsers first send a CORS Preflight request using the OPTIONS method. This setting determines how the CDN responds to OPTIONS requests.

옵션동작권장 상황
405 Method Not Allowed OPTIONS 요청을 지원하지 않는다고 응답합니다. CORS Preflight가 실패해 브라우저의 Cross-Origin 요청이 차단됩니다. Cross-Origin 요청이 전혀 없는 서비스
200 OK 권장 OPTIONS 요청에 200으로 응답합니다. 브라우저가 Preflight를 통과해 실제 요청을 진행할 수 있습니다. 클라이언트 헤더 제어 탭에서 CORS 헤더도 함께 설정해야 합니다. 웹폰트, API fetch, Canvas 등 Cross-Origin 요청이 있는 서비스
OptionBehaviorRecommended Use
405 Method Not Allowed Responds that OPTIONS requests are not supported. CORS Preflight fails and the browser's Cross-Origin requests are blocked. Services with no Cross-Origin requests at all
200 OK Recommended Responds to OPTIONS requests with 200. The browser passes Preflight and can proceed with the actual request. CORS headers must also be configured in the Client Header Control tab. Services with Cross-Origin requests such as web fonts, API fetch, Canvas, etc.
CDN 설정 — OPTIONS 메서드
OPTIONS 메서드
OPTIONS 메서드 요청에 대한 응답코드를 설정합니다.
405 Method Not Allowed
200 OK
CDN Settings — OPTIONS Method
OPTIONS Method
Configure the response code for OPTIONS method requests.
405 Method Not Allowed
200 OK
💡 CORS 오류가 발생한다면 체크리스트
💡 Checklist if CORS errors occur
브라우저 콘솔에서 has been blocked by CORS policy 오류가 발생할 때 순서대로 확인하세요.
  1. 접근 제어 → OPTIONS 메서드가 200 OK로 설정되어 있는지 확인
  2. 클라이언트 헤더 제어 → CORS 헤더 지원이 활성화되어 있는지 확인
  3. 원본 서버가 Access-Control-Allow-Origin 헤더를 반환하는지 확인
When a has been blocked by CORS policy error appears in the browser console, check in order:
  1. Access Control → Verify OPTIONS method is set to 200 OK
  2. Client Header Control → Verify CORS Header Support is enabled
  3. Verify the origin server returns the Access-Control-Allow-Origin header

④ HTTP 메서드 제한

④ HTTP Method Restriction

CDN이 처리하거나 원본으로 전달할 HTTP 메서드를 명시적으로 지정합니다. CDN은 기본적으로 HEAD, GET, POST를 처리하며, 이 외에 선언된 메서드만 원본으로 바이패스됩니다. 이 설정은 OPTIONS 메서드 응답 설정보다 우선합니다.

Explicitly specify the HTTP methods the CDN will handle or forward to the origin. The CDN handles HEAD, GET, and POST by default; only declared methods beyond these are bypassed to the origin. This setting takes priority over the OPTIONS method response setting.

메서드용도CDN 기본 처리권장 설정
GET리소스 조회 — 캐싱 대상CDN 처리 (캐시)항상 허용
HEAD헤더만 조회 — 캐시 유효성 확인CDN 처리항상 허용
POST데이터 전송 — 상태 변경 요청CDN 처리 (POST 캐싱 설정에 따름)API 서비스에만 허용
PUT리소스 전체 교체선언 시 원본 바이패스REST API 서비스에만 허용
DELETE리소스 삭제선언 시 원본 바이패스REST API 서비스에만 허용
PATCH리소스 부분 수정선언 시 원본 바이패스REST API 서비스에만 허용
OPTIONSCORS Preflight 확인OPTIONS 메서드 설정에 따름CORS 사용 시 허용
TRACE요청 루프백 디버깅선언 시 원본 바이패스비허용 권장 (XST 공격 위험)
MethodPurposeCDN Default HandlingRecommended Setting
GETResource retrieval — cacheableCDN handles (cache)Always allow
HEADHeaders only — cache validity checkCDN handlesAlways allow
POSTData transmission — state-changing requestCDN handles (per POST caching setting)Allow only for API services
PUTFull resource replacementBypassed to origin when declaredAllow only for REST API services
DELETEResource deletionBypassed to origin when declaredAllow only for REST API services
PATCHPartial resource modificationBypassed to origin when declaredAllow only for REST API services
OPTIONSCORS Preflight checkPer OPTIONS method settingAllow when using CORS
TRACERequest loopback debuggingBypassed to origin when declaredNot recommended (XST attack risk)
CDN 설정 — HTTP 메서드 제한
HTTP 메서드
HTTP 메서드 선택지원
지원할 HTTP 메서드를 선택합니다.
CDN 서버에서 처리할 수 있는 메서드(HEAD, GET, POST)를 제외한, 선언된 모든 메서드는 원본으로 바이패스된다. 이 설정은 OPTIONS 메서드 응답설정보다 우선한다.
HTTP 메서드 선택
HTTP 메서드
CDN Settings — HTTP Method Restriction
HTTP Methods
HTTP Method Selection Support
Select the HTTP methods to support.
All declared methods other than those handled natively by the CDN (HEAD, GET, POST) are bypassed to the origin. This setting takes priority over the OPTIONS method response setting.
Select HTTP Methods
HTTP Method
🚫 TRACE 메서드는 허용하지 마세요
🚫 Do not allow the TRACE method
TRACE 메서드는 XST(Cross-Site Tracing) 공격에 악용될 수 있습니다. 공격자가 TRACE를 통해 HttpOnly 쿠키를 포함한 요청 헤더 전체를 탈취할 수 있으므로, 특별한 이유가 없다면 절대 허용하지 마세요. The TRACE method can be exploited in XST (Cross-Site Tracing) attacks. Attackers can use TRACE to steal entire request headers including HttpOnly cookies. Unless there is a specific reason, never allow it.
💡 서비스 유형별 권장 메서드 구성
💡 Recommended method configuration by service type
서비스 유형권장 허용 메서드
정적 콘텐츠 CDN (이미지, CSS, JS)GET, HEAD
웹사이트 + CORS 지원GET, HEAD, OPTIONS
REST API CDNGET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS
CDN 설정
CDN Settings

클라이언트 헤더 제어

CDN이 클라이언트(브라우저)에게 전송하는 응답 헤더를 제어합니다. CORS 지원, 세션 재사용, Keep-Alive, Via, ETag, Server, Age 헤더 설정과 클라이언트 요청/응답 헤더 변조까지 클라이언트 방향의 모든 헤더 정책을 이 탭에서 관리합니다.

Control the response headers the CDN sends to clients (browsers). Manage all client-side header policies in this tab: CORS support, session reuse, Keep-Alive, Via, ETag, Server, Age header settings, and client request/response header manipulation.

항목헤더역할 요약기본 권장값
CORS 헤더Access-Control-Allow-Origin다른 도메인의 JS에서 CDN 리소스 접근 허용활성화 (Cross-Origin 사용 시)
Connection 헤더Connection: keep-alive클라이언트와 CDN 간 TCP 연결 재사용활성화 권장
Keep-Alive 헤더Keep-Alive연결 유지 파라미터(최대 요청 횟수 등) 전달활성화 권장
Via 헤더ViaCDN 경유 여부 표시 — 디버깅용운영 환경 비활성화 권장
ETag 헤더ETag콘텐츠 해시로 브라우저 캐시 유효성 검증 → 304 절감활성화 권장
Server 헤더Server원본 서버 정보를 클라이언트에 전달보안상 비활성화 권장
Age 헤더AgeCDN 캐시에 저장된 후 경과한 시간(초) 표시활성화 권장 (캐시 디버깅)
요청헤더 변조커스텀클라이언트 → CDN 요청 헤더 추가·수정·삭제필요 시 설정
응답헤더 변조커스텀CDN → 클라이언트 응답 헤더 추가·수정·삭제필요 시 설정
ItemHeaderRole SummaryDefault Recommended Value
CORS HeaderAccess-Control-Allow-OriginAllow CDN resource access from JS on other domainsEnable (when using Cross-Origin)
Connection HeaderConnection: keep-aliveReuse TCP connections between client and CDNEnable recommended
Keep-Alive HeaderKeep-AliveTransmit connection-keep parameters (max request count, etc.)Enable recommended
Via HeaderViaIndicates CDN routing — for debuggingDisable recommended in production
ETag HeaderETagValidate browser cache via content hash → reduces 304 overheadEnable recommended
Server HeaderServerPasses origin server information to the clientDisable recommended for security
Age HeaderAgeShows elapsed time (sec) since stored in CDN cacheEnable recommended (cache debugging)
Request Header ManipulationCustomAdd, modify, or delete client → CDN request headersConfigure as needed
Response Header ManipulationCustomAdd, modify, or delete CDN → client response headersConfigure as needed

① CORS 헤더 지원

① CORS Header Support

CORS(Cross-Origin Resource Sharing)는 브라우저가 다른 도메인의 리소스를 JS에서 접근할 수 있도록 허용하는 표준 메커니즘입니다. CDN이 응답에 Access-Control-Allow-Origin 헤더를 추가해 브라우저의 Cross-Origin 요청을 허용합니다. 웹폰트 로드, fetch() API 호출, Canvas 이미지 처리 등에서 필수입니다.

CORS (Cross-Origin Resource Sharing) is the standard mechanism that allows browsers to access resources from other domains via JS. The CDN adds the Access-Control-Allow-Origin header to responses to allow browser Cross-Origin requests. Required for loading web fonts, fetch() API calls, Canvas image processing, etc.

옵션동작권장 상황
*, 모든 도메인 Access-Control-Allow-Origin: *를 응답에 추가합니다. 모든 도메인에서의 Cross-Origin 요청을 허용합니다. 공개 CDN, 공개 API, 누구나 사용 가능한 리소스
선언된 도메인 허용할 Origin 도메인을 직접 지정합니다. 요청의 Origin 헤더와 비교해 일치하는 경우에만 허용합니다. 특정 도메인만 허용해야 하는 내부 서비스, 인증이 필요한 API
OptionBehaviorRecommended Use
*, All Domains Adds Access-Control-Allow-Origin: * to the response. Allows Cross-Origin requests from all domains. Public CDN, public API, resources accessible by anyone
Declared Domains Directly specify allowed Origin domains. Only allows requests when the Origin header matches a declared domain. Internal services that must allow only specific domains, APIs requiring authentication
CDN 설정 — CORS 헤더 지원
CORS 헤더 지원
CORS 지원 활성화
다음 값 중 하나를 사용하여 CDN에 Access-Control-Allow-Origin 헤더를 추가할 수 있습니다.
*, 모든 도메인
선언된 도메인
CDN Settings — CORS Header Support
CORS Header Support
Enable CORS Support
Add the Access-Control-Allow-Origin header to CDN responses using one of the following values.
*, All Domains
Declared Domains
💡 쿠키·인증 헤더를 포함한 요청은 * 와일드카드를 사용할 수 없습니다
💡 Requests with cookies or auth headers cannot use the * wildcard
fetch(url, { credentials: 'include' })처럼 쿠키나 Authorization 헤더를 포함하는 Cross-Origin 요청은 브라우저 보안 정책상 Access-Control-Allow-Origin: *로는 동작하지 않습니다. 이 경우 선언된 도메인 옵션으로 구체적인 Origin을 지정하고, Access-Control-Allow-Credentials: true 헤더를 응답헤더 변조로 추가하세요. Cross-Origin requests that include cookies or Authorization headers (like fetch(url, { credentials: 'include' })) will not work with Access-Control-Allow-Origin: * due to browser security policy. In this case, use the Declared Domains option to specify a concrete Origin and add Access-Control-Allow-Credentials: true via response header manipulation.

② Connection 헤더 (세션 재사용)

② Connection Header (Session Reuse)

CDN이 클라이언트에게 응답할 때 Connection 헤더를 포함해 TCP 연결의 재사용 여부를 알립니다. 활성화하면 Connection: keep-alive를 응답에 추가해 클라이언트가 동일 TCP 연결로 여러 요청을 연속 전송할 수 있도록 합니다. 비활성화하면 Connection: close로 응답해 요청마다 새 TCP 연결이 맺어집니다.

When the CDN responds to a client, it includes the Connection header to signal whether the TCP connection should be reused. When enabled, adds Connection: keep-alive to allow the client to send multiple requests over the same TCP connection. When disabled, responds with Connection: close, creating a new TCP connection per request.

CDN 설정 — Connection 헤더
Connection 헤더
클라이언트 세션 재사용
클라이언트에게 Connection헤더를 Keep-Alive로 응답하여, 세션을 재사용합니다. 비활성화할 경우 Close로 재사용하지 않습니다.
CDN Settings — Connection Header
Connection Header
Client Session Reuse
Responds to the client with Connection: Keep-Alive to reuse the session. When disabled, responds with Close and does not reuse the session.

③ Keep-Alive 헤더

③ Keep-Alive Header

Keep-Alive 헤더는 TCP 연결 유지에 대한 상세 파라미터를 클라이언트에 전달합니다. 최대 요청 횟수(max)를 설정하면 해당 연결에서 처리 가능한 최대 요청 수를 지정하며, 이후 트랜잭션마다 1씩 차감되어 0이 되면 연결을 종료합니다.

The Keep-Alive header delivers detailed parameters for TCP connection maintenance to the client. Setting the maximum request count (max) specifies the maximum number of requests that can be handled on that connection; it decrements by 1 per transaction and the connection closes when it reaches 0.

CDN 설정 — Keep-Alive 헤더
Keep-Alive 헤더
Keep-Alive 헤더 활성화
클라이언트 응답헤더에 Keep-Alive 헤더를 추가합니다.
최대 요청횟수 (음선)
ex) 1000
0이 아닌 값(양수)으로 설정하면 max값으로 설정된다. 이후 트랜잭션마다 1씩 차감된다.
CDN Settings — Keep-Alive Header
Keep-Alive Header
Enable Keep-Alive Header
Adds the Keep-Alive header to client responses.
Maximum request count (optional)
ex) 1000
requests
When set to a non-zero positive value, it is used as the max value. Decremented by 1 per transaction.
💡 Connection과 Keep-Alive의 관계
💡 Relationship between Connection and Keep-Alive
Connection: keep-alive는 "연결을 유지하겠다"는 의사 표현이고, Keep-Alive: max=1000은 "최대 1,000번 요청까지 유지하겠다"는 구체적인 조건입니다. HTTP/2·HTTP/3 환경에서는 멀티플렉싱으로 연결 재사용이 기본이므로 이 헤더의 영향이 줄어듭니다. Connection: keep-alive expresses "I intend to keep the connection alive," while Keep-Alive: max=1000 is the specific condition "keep it alive for up to 1,000 requests." In HTTP/2 and HTTP/3 environments, connection reuse is the default via multiplexing, so the impact of these headers is reduced.

④ Via 헤더

④ Via Header

Via 헤더는 HTTP 요청/응답이 어떤 프록시(CDN 포함)를 경유했는지 기록하는 표준 헤더입니다. CDN 경유 여부와 버전 정보를 확인할 수 있어 디버깅에 유용하지만, 운영 환경에서는 인프라 구성 정보가 외부에 노출될 수 있으므로 비활성화를 권장합니다.

The Via header is a standard header that records which proxies (including CDN) an HTTP request/response passed through. Useful for debugging by revealing CDN routing and version info, but disabling is recommended in production environments as it can expose infrastructure configuration to external parties.

CDN 설정 — Via 헤더
Via 헤더
Via 헤더 추가
클라이언트 응답헤더에 Via헤더를 추가합니다.
CDN Settings — Via Header
Via Header
Append Via Header
Adds the Via header to the client response headers.

⑤ ETag 헤더

⑤ ETag Header

ETag(Entity Tag)는 콘텐츠의 특정 버전을 나타내는 식별자(해시 값)입니다. CDN이 응답에 ETag를 포함하면 브라우저가 다음 요청 시 If-None-Match 헤더로 전달해, 콘텐츠가 변경되지 않았다면 CDN은 본문 없이 304 Not Modified만 반환합니다. 대역폭을 절감하고 페이지 로드 속도를 향상시킵니다.

ETag (Entity Tag) is an identifier (hash value) representing a specific version of content. When the CDN includes an ETag in a response, the browser sends it as an If-None-Match header on the next request; if unchanged, the CDN returns only 304 Not Modified with no body. Reduces bandwidth and improves page load speed.

CDN 설정 — ETag 헤더
ETag 헤더
ETag 헤더 추가
클라이언트 응답헤더에 ETag헤더를 추가합니다.
CDN Settings — ETag Header
ETag Header
Append ETag Header
Adds the ETag header to the client response headers.

⑥ Server 헤더

⑥ Server Header

Server 헤더는 원본 서버의 소프트웨어 정보(예: Apache/2.4.51, nginx/1.21.0)를 클라이언트에 전달합니다. 원본 서버가 이 헤더를 응답에 포함하는 경우 CDN이 이를 클라이언트에 그대로 전달할지 결정합니다. 서버 버전 정보는 공격자가 취약점을 식별하는 데 활용될 수 있으므로 운영 환경에서는 비활성화를 권장합니다.

The Server header passes origin server software information (e.g. Apache/2.4.51, nginx/1.21.0) to the client. This setting determines whether the CDN forwards this header to clients when the origin includes it. Server version information can help attackers identify vulnerabilities, so disabling it in production is recommended.

CDN 설정 — Server 헤더
Server 헤더
Server 헤더 추가
원본서버가 Server헤더를 주는 경우, 클라이언트 응답헤더에 Server헤더를 추가합니다.
CDN Settings — Server Header
Server Header
Append Server Header
When the origin server provides a Server header, adds it to the client response headers.
⚠ Server 헤더는 운영 환경에서 비활성화를 권장합니다
⚠ Disabling the Server header is recommended in production
Server: Apache/2.4.51 (Ubuntu)처럼 구체적인 버전 정보가 노출되면 공격자가 해당 버전의 알려진 취약점(CVE)을 식별해 공격에 활용할 수 있습니다. 원본 서버 설정에서도 Server 헤더를 제거하거나 일반화하는 것을 함께 권장합니다. Exposing specific version info like Server: Apache/2.4.51 (Ubuntu) allows attackers to identify known vulnerabilities (CVEs) for that version and exploit them. It is also recommended to remove or generalize the Server header in the origin server configuration.

⑦ Age 헤더

⑦ Age Header

Age 헤더는 해당 콘텐츠가 CDN 캐시에 저장된 후 경과한 시간(초)을 나타냅니다. 예를 들어 Age: 300은 이 응답이 CDN에 5분 동안 캐싱되어 있었음을 의미합니다. 클라이언트와 개발자가 캐시 상태를 직접 확인할 수 있어 디버깅에 유용합니다.

The Age header indicates how many seconds have elapsed since the content was stored in the CDN cache. For example, Age: 300 means this response has been cached in the CDN for 5 minutes. Useful for debugging as clients and developers can directly verify cache status.

CDN 설정 — Age 헤더
Age 헤더
Age 헤더 추가
클라이언트 응답헤더에 Age헤더를 추가합니다.
CDN Settings — Age Header
Age Header
Append Age Header
Adds the Age header to the client response headers.
💡 Age 헤더로 캐시 HIT 여부를 빠르게 확인할 수 있습니다
💡 Quickly verify Cache HIT status with the Age header
브라우저 DevTools → Network 탭에서 응답 헤더의 Age 값을 확인하세요. Age: 0이면 방금 원본에서 가져온 것(Cache MISS 또는 첫 캐싱), 양수면 해당 초만큼 CDN에 캐싱된 상태(Cache HIT)입니다. Check the Age value in response headers via browser DevTools → Network tab. Age: 0 means it was just fetched from origin (Cache MISS or first caching); a positive value means it has been cached in the CDN for that many seconds (Cache HIT).

⑧ 요청헤더 변조 (클라이언트 → CDN)

⑧ Request Header Manipulation (Client → CDN)

클라이언트가 CDN 서버에 요청을 보낼 때 HTTP 헤더를 동적으로 추가·수정·삭제합니다. 원본 연결/헤더 제어 탭의 요청헤더 변조(CDN → 원본)와 방향이 다릅니다. 특정 URL 패턴에만 선택적으로 적용할 수 있습니다.

Dynamically add, modify, or delete HTTP headers when a client sends a request to the CDN server. The direction differs from the request header manipulation (CDN → Origin) in the Origin Connection / Header Control tab. Can be applied selectively to specific URL patterns.

항목설명예시
헤더 이름추가·변경·삭제할 HTTP 헤더 이름x-media-type, Authorization
헤더에 설정할 값. 삭제 액션 선택 시 비워둡니다.video/mp4
URL 패턴이 규칙을 적용할 URL 패턴. 빈값이면 전체 URL에 적용./*.mp4
액션추가(없으면 추가·있으면 덮어쓰기) / 강제 덮어쓰기 / 삭제 중 선택추가 (헤더가 존재하면 덮어쓰고 없다면 추가)
ItemDescriptionExample
Header NameName of the HTTP header to add, modify, or deletex-media-type, Authorization
ValueValue to set for the header. Leave empty when the Delete action is selected.video/mp4
URL PatternURL pattern this rule applies to. If empty, applies to all URLs./*.mp4
ActionChoose from: Add (add if absent, overwrite if present) / Force Overwrite / DeleteAdd (overwrite if header exists, add if not)
CDN 설정 — 요청헤더 변조
요청헤더 변조
원본 요청시 헤더변조
클라이언트가 CDN 서버에 요청을 보낼 때 추가, 삭제할 HTTP 헤더를 정의합니다.
헤더 이름
ex) x-media-type
ex) video/mp4
URL 패턴
ex) /*.mp4
액션
CDN Settings — Request Header Manipulation
Request Header Manipulation
Header Manipulation on Origin Request
Define HTTP headers to add or remove when a client sends a request to the CDN server.
Header Name
ex) x-media-type
Value
ex) video/mp4
URL Pattern
ex) /*.mp4
Action

⑨ 응답헤더 변조 (CDN → 클라이언트)

⑨ Response Header Manipulation (CDN → Client)

CDN이 클라이언트에 응답을 보낼 때 HTTP 헤더를 동적으로 추가·수정·삭제합니다. 원본 서버가 반환하지 않는 헤더를 CDN 레벨에서 삽입하거나, 노출해서는 안 되는 헤더를 제거할 때 사용합니다.

Dynamically add, modify, or delete HTTP headers when the CDN sends a response to the client. Use this to inject headers that the origin server does not return, or to remove headers that should not be exposed.

CDN 설정 — 응답헤더 변조
응답헤더 변조
원본 응답시 헤더변조
CDN 서버가 클라이언트에 응답을 보낼 때 추가, 삭제할 HTTP 헤더를 정의합니다.
헤더 이름
ex) x-media-type
ex) video/mp4
URL 패턴
ex) /*.mp4
액션
CDN Settings — Response Header Manipulation
Response Header Manipulation
Header Manipulation on Origin Response
Define HTTP headers to add or remove when the CDN server sends a response to the client.
Header Name
ex) x-media-type
Value
ex) video/mp4
URL Pattern
ex) /*.mp4
Action
💡 헤더 변조 활용 예시
  • 보안 헤더 삽입: 원본이 반환하지 않는 X-Content-Type-Options: nosniff, X-Frame-Options: DENY를 응답헤더 변조로 일괄 추가
  • CORS 헤더 보완: 원본 서버 수정 없이 Access-Control-Allow-Origin 헤더를 응답에 삽입
  • 민감 헤더 제거: X-Powered-By, Server 헤더를 삭제 액션으로 제거해 서버 정보 노출 방지
  • 캐시 정책 강제: 특정 경로(/*.html)에만 Cache-Control: no-cache를 강제 덮어쓰기로 적용
💡 Header Manipulation Use Cases
  • Inject security headers: Bulk-add X-Content-Type-Options: nosniff and X-Frame-Options: DENY that the origin does not return, via response header manipulation
  • Supplement CORS headers: Insert Access-Control-Allow-Origin into responses without modifying the origin server
  • Remove sensitive headers: Delete X-Powered-By and Server headers using the delete action to prevent server info exposure
  • Enforce cache policy: Force-overwrite Cache-Control: no-cache only for specific paths (/*.html)
CDN 설정
CDN Settings

캐시 무효화 (퍼지)

원본 콘텐츠를 변경한 후 CDN 엣지에 캐싱된 이전 버전을 강제로 삭제해 최신 콘텐츠를 즉시 제공합니다. 퍼지 탭과 퍼지 히스토리 탭으로 구성됩니다.

After updating origin content, forcibly delete the previous version cached at CDN edges to immediately serve the latest content. Consists of the Purge tab and the Purge History tab.

퍼지(Purge)란?What is a Purge?

CDN 엣지 노드에 저장된 캐시를 TTL 만료 전에 강제로 삭제하는 작업입니다. 원본 콘텐츠가 변경됐지만 TTL이 아직 남아 있을 때, 즉시 최신 버전을 제공해야 할 때 사용합니다.

The operation of forcibly deleting cached content stored at CDN edge nodes before TTL expiration. Used when origin content has changed but TTL has not yet expired and the latest version must be served immediately.

🎯
URL 퍼지URL Purge

특정 파일의 URL을 정확하게 지정해 해당 캐시만 삭제합니다. 쿼리스트링 포함 URL도 별도로 지정할 수 있습니다. 원본 부하가 가장 낮은 방식입니다.

Precisely specify the URL of a particular file to delete only that cache entry. URLs including query strings can be specified separately. This method has the lowest impact on origin load.

🔍
패턴 퍼지Pattern Purge

와일드카드(*)를 포함한 경로 패턴으로 여러 파일을 한 번에 삭제합니다. 특정 디렉토리나 파일 확장자 전체를 한꺼번에 무효화할 때 사용합니다.

Delete multiple files at once using a path pattern that includes wildcards (*). Use to invalidate an entire directory or all files of a particular extension at once.

전체 퍼지Full Purge

해당 도메인의 모든 캐시를 동시에 삭제합니다. 대규모 배포·전체 리뉴얼 시 사용하지만, 이후 모든 요청이 원본으로 집중되므로 트래픽이 적은 시간에 실행해야 합니다.

Simultaneously delete all cached content for the domain. Used for large-scale deployments or full site renewals, but must be executed during low-traffic periods as all subsequent requests will hit the origin.

퍼지 유형 비교

Purge Type Comparison

유형삭제 범위원본 부하권장 상황입력 예시
URL 퍼지 지정한 URL과 정확히 일치하는 캐시만 삭제 낮음 특정 이미지·파일·API 응답 수정 /images/banner.jpg
/images/image.png?goodNo=123
패턴 퍼지 와일드카드 패턴에 일치하는 캐시 일괄 삭제 중간 특정 디렉토리 교체, 파일 확장자 전체 갱신 /page/*.html
/images/*
/*
전체 퍼지 해당 도메인의 모든 캐시 동시 삭제 높음 🚨 대규모 배포, 전체 리뉴얼, CDN 설정 대폭 변경
TypeDeletion ScopeOrigin LoadRecommended UseInput Example
URL Purge Deletes only the cache that exactly matches the specified URL Low Modifying a specific image, file, or API response /images/banner.jpg
/images/image.png?goodNo=123
Pattern Purge Bulk-deletes all caches matching a wildcard pattern Medium Replacing a specific directory, refreshing all files of an extension /page/*.html
/images/*
/*
Full Purge Simultaneously deletes all caches for the domain High 🚨 Large-scale deployments, full site renewals, major CDN configuration changes

퍼지 실행

Execute Purge

퍼지를 실행하려면 먼저 도메인을 선택한 후 퍼지 유형을 선택하고 내용을 입력합니다. URL 퍼지의 경우 한 줄에 하나씩 URL을 입력하며, 도메인 이름은 포함하지 않고 경로(/)부터 입력합니다.

To execute a purge, first select a domain, then choose the purge type and enter the content. For URL purge, enter one URL per line, starting with the path (/) without including the domain name.

캐시 무효화(퍼지) — 퍼지 탭
도메인을 선택하세요
URL 퍼지
지정된 파일들의 캐시를 무효화합니다.
쿼리 문자열을 포함한 파일 URL을 지정하세요. 도메인 이름은 지정하지 마세요. 각 URL은 별도의 줄에 입력하세요.
예시: /images/image.jpg, /images/image.png?goodNo=123
전체 퍼지
해당 도메인의 모든 캐시를 무효화합니다.
전체 캐시 무효화는 서버 부하를 증가시킬 수 있습니다.
패턴 퍼지
패턴과 일치하는 파일들의 캐시를 무효화합니다. 패턴을 지정하려면 *를 사용하세요.
예시: /page/*.html, /images/*
Cache Invalidation (Purge) — Purge Tab
Select a domain
URL Purge
Invalidates the cache for specified files.
Specify the file URL including any query strings. Do not include the domain name. Enter each URL on a separate line.
Example: /images/image.jpg, /images/image.png?goodNo=123
Full Purge
Invalidates all cache for the domain.
Full cache invalidation may increase server load.
Pattern Purge
Invalidates the cache for files matching the pattern. Use * to specify a pattern.
Example: /page/*.html, /images/*

퍼지 히스토리

Purge History

실행된 모든 퍼지 작업의 이력을 확인합니다. 도메인, 퍼지 타입, 날짜로 필터링할 수 있으며, 각 퍼지의 결과(size · time · count)로 실제 삭제된 캐시의 규모를 파악할 수 있습니다.

Review the history of all executed purge operations. Filter by domain, purge type, and date; use each purge's results (size · time · count) to understand the scale of cache actually deleted.

컬럼의미
ID퍼지 작업의 고유 식별 번호. 오름차순으로 증가합니다.
도메인퍼지가 실행된 CDN 도메인
타입URL / 전체 / 패턴 중 실행된 퍼지 유형
내용퍼지 대상 URL 또는 패턴. 길면 "펼치기"로 전체 확인 가능
상태완료 / 진행 중 / 실패 등 퍼지 처리 상태
결과size: 삭제된 캐시 총 용량(bytes), time: 처리 시간(ms), count: 삭제된 캐시 항목 수
사용자퍼지를 실행한 계정 이메일
일시퍼지 실행 시각
ColumnMeaning
IDUnique identifier for the purge operation. Increases in ascending order.
DomainCDN domain on which the purge was executed
TypePurge type executed: URL / Full / Pattern
ContentTarget URL or pattern for the purge. If long, use "Expand" to view the full content
StatusPurge processing status: Completed / In Progress / Failed, etc.
Resultsize: total size of deleted cache (bytes), time: processing time (ms), count: number of deleted cache entries
UserEmail of the account that executed the purge
Date/TimeTime the purge was executed
캐시 무효화(퍼지) — 퍼지 히스토리 탭
도메인으로 검색...
퍼지 타입
날짜
ID도메인타입내용상태결과사용자일시
21360 cloud.m2live.io 패턴 /* 완료 {size:55586692, time:8, count:27} hideface@winesoft.co.kr 2026-03-18 17:30:34
21356 cloud.m2live.io URL / 완료 {size:0, time:0, count:0} hideface@winesoft.co.kr 2026-03-18 17:12:29
21103 cloud.m2live.io 전체 /* 완료 {size:87328, time:12, count:4} hideface@winesoft.co.kr 2026-03-11 13:13:02
21102 cloud.m2live.io 패턴 /* 펼치기 완료 {size:23766913377, time:16, c... 펼치기} hideface@winesoft.co.kr 2026-03-11 12:32:05
Cache Invalidation (Purge) — Purge History Tab
Search by domain...
Purge Type
Date
IDDomainTypeContentStatusResultUserTime
21360 cloud.m2live.io Pattern /* Completed {size:55586692, time:8, count:27} hideface@winesoft.co.kr 2026-03-18 17:30:34
21356 cloud.m2live.io URL / Completed {size:0, time:0, count:0} hideface@winesoft.co.kr 2026-03-18 17:12:29
21103 cloud.m2live.io Full /* Completed {size:87328, time:12, count:4} hideface@winesoft.co.kr 2026-03-11 13:13:02
21102 cloud.m2live.io Pattern /* Expand Completed {size:23766913377, time:16, c... Expand} hideface@winesoft.co.kr 2026-03-11 12:32:05

히스토리 결과 필드 해석

Interpreting History Result Fields

결과 필드의미해석 예시
size 삭제된 캐시의 총 용량(bytes) size: 55586692 → 약 53MB의 캐시 삭제됨
size: 0 → 해당 URL이 캐시에 없었음 (Cache MISS 상태였음)
time 퍼지 처리에 걸린 시간(ms) time: 8 → 8ms 만에 처리 완료
count 삭제된 캐시 항목(파일) 수 count: 27 → 27개의 캐시 항목 삭제됨
count: 0 → 삭제된 캐시 없음 (미캐싱 상태)
Result FieldMeaningInterpretation Example
size Total size of deleted cache (bytes) size: 55586692 → approximately 53MB of cache deleted
size: 0 → the URL was not in the cache (was in Cache MISS state)
time Time taken to process the purge (ms) time: 8 → processing completed in 8ms
count Number of deleted cache entries (files) count: 27 → 27 cache entries deleted
count: 0 → no cache deleted (not cached state)
💡 결과가 size:0, count:0이라면?
퍼지 대상 URL 또는 패턴에 해당하는 콘텐츠가 CDN에 캐싱되어 있지 않았다는 의미입니다. URL을 잘못 입력했거나(도메인 포함, 오타 등), 이미 TTL이 만료되어 자연 삭제된 경우입니다. URL 입력 시 도메인을 제외하고 경로(/)부터만 입력하는지 확인하세요.
💡 If the result shows size:0, count:0?
This means no content matching the purge target URL or pattern was cached in the CDN. Either the URL was entered incorrectly (e.g. included the domain, typo), or the TTL had already expired and the cache was naturally evicted. When entering URLs, verify that you are entering only the path starting with /, without the domain.
⚠ 전체 퍼지 후 원본 서버 부하 급증 주의
전체 퍼지 직후 모든 요청이 Cache MISS 상태가 되어 원본 서버로 Origin Pull이 집중됩니다. 트래픽이 많은 서비스라면 새벽 등 트래픽이 적은 시간대에 실행하고, 원본 서버의 CPU·메모리·응답 시간을 실시간으로 모니터링하세요.
⚠ Beware of sudden origin server load spike after a Full Purge
Immediately after a full purge, all requests become Cache MISS and Origin Pull requests concentrate on the origin server. For high-traffic services, execute during low-traffic periods such as late night and monitor the origin server's CPU, memory, and response time in real time.

상황별 퍼지 가이드

Purge Guide by Situation

상황권장 퍼지 유형입력 예시
특정 이미지·파일 1~수십 개 수정URL 퍼지/images/banner.jpg
/css/main.css
특정 디렉토리 전체 교체패턴 퍼지/images/*
특정 확장자 전체 갱신패턴 퍼지/*.css, /*.js
CDN 캐시 설정 변경 후 반영패턴 퍼지 또는 전체 퍼지/* 또는 전체 선택
대규모 배포·전체 사이트 리뉴얼전체 퍼지 (저트래픽 시간대)
이미지 최적화 설정 변경패턴 퍼지/images/*, /*.jpg
SituationRecommended Purge TypeInput Example
Modifying 1 to dozens of specific images or filesURL Purge/images/banner.jpg
/css/main.css
Replacing an entire specific directoryPattern Purge/images/*
Refreshing all files of a specific extensionPattern Purge/*.css, /*.js
Applying changes after CDN cache settings updatePattern Purge or Full Purge/* or select All
Large-scale deployment or full site renewalFull Purge (low-traffic period)
Changing image optimization settingsPattern Purge/images/*, /*.jpg