엣지 생성

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

프로필에 엣지를 생성합니다.

참고

계정당 엣지는 최대 100개까지 생성할 수 있습니다. 한도 상향 필요 시 고객 문의를 통해서 요청해 주십시오.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /api/v1/cdn-edge

요청 헤더

Global Edge API에서 공통으로 사용하는 헤더에 대한 정보는 Global Edge 요청 헤더를 참조해 주십시오.

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
profileId Long Required 프로필 아이디
edgeName String Required 엣지 이름
  • 영문자, 숫자, 특수 문자 '-', '_'를 허용하며, 3~35자 이내로 입력
distributionConfig Object Required 배포 설정: CdnDistributionConfig
originalCopyConfig Object Required 오리진 설정: CdnOriginalCopyConfig
cachingConfig Object Required 캐시 설정: CdnCachingConfig
managedRule Object Required 매니지드 룰: ManagedRule
headerPolicies Array Required 헤더 설정: HeaderPolicy
  • 미설정 시 빈 값 [] 입력
optimizationConfig Object Required 최적화 설정: OptimizationConfig
accessControl Object Required 접근 제어 설정: AccessControl

CdnDistributionConfig

CdnDistributionConfig에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
protocolType String Required 서비스 프로토콜
  • HTTP | HTTPS | ALL
regionType String Required 서비스 지역
  • KOREA | JAPAN | GLOBAL
    • KOREA: 한국
    • JAPAN: 일본
    • GLOBAL: 글로벌
serviceDomain Object Required 서비스 도메인 설정
serviceDomain.domainType String Required 서비스 도메인 유형
  • NCP_DOMAIN_AUTO | NCP_DOMAIN_CUSTOM | CUSTOM_DOMAIN
    • NCP_DOMAIN_AUTO: 자동 생성된 네이버 클라우드 플랫폼 도메인
    • NCP_DOMAIN_CUSTOM: 사용자 입력값을 포함한 네이버 클라우드 플랫폼 도메인
    • CUSTOM_DOMAIN: 사용자 보유 도메인
serviceDomain.domainName String Conditional 도메인 이름
  • serviceDomain.domainTypeNCP_DOMAIN_CUSTOM이거나 CUSTOM_DOMAIN인 경우, 필수 입력
serviceDomain.certificate Object Conditional 인증서
  • 사용자 보유 도메인(CUSTOM_DOMAIN)을 HTTPS로 서비스하는 경우, 하위 정보 포함하여 필수 입력
serviceDomain.certificate.id Number Conditional 인증서 슬롯 아이디
edgeLogging Object Required 엣지 로그 설정
edgeLogging.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
edgeLogging.bucketPrefix String Optional 로그 저장 경로
edgeLogging.objectStorage Object Conditional 로그 스토리지 정보
  • Object Storage에 등록된 버킷만 사용 가능
  • edgeLogging.enabledtrue인 경우, 하위 정보 포함하여 필수 입력
edgeLogging.objectStorage.region String Conditional 서비스 리전
  • KR | USWN | SGN | JPN | DEN
    • KR: 한국
    • USWN: 미국
    • SGN: 싱가포르
    • JPN: 일본
    • DEN: 독일
edgeLogging.objectStorage.bucketName String Conditional 버킷 이름

CdnOriginalCopyConfig

CdnOriginalCopyConfig에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
originalCopyLocation Object Required 오리진 서버 설정
originalCopyLocation.type String Required 오리진 유형
  • OBJECT_STORAGE | LOAD_BALANCER | API_GATEWAY | CUSTOM
    • OBJECT_STORAGE: 네이버 클라우드 플랫폼의 Object Storage
    • LOAD_BALANCER: 네이버 클라우드 플랫폼의 Load Balancer
    • API_GATEWAY: 네이버 클라우드 플랫폼의 API Gateway
    • CUSTOM: 외부 오리진 도메인
originalCopyLocation.region String Conditional 서비스 리전
  • KR | USWN | SGN | JPN | DEN
    • KR: 한국
    • USWN: 미국
    • SGN: 싱가포르
    • JPN: 일본
    • DEN: 독일
  • originalCopyLocation.typeOBJECT_STORAGE이거나 LOAD_BALANCER인 경우, 필수 입력
originalCopyLocation.bucketName String Conditional 버킷 이름
  • originalCopyLocation.typeOBJECT_STORAGE인 경우, 필수 입력
originalCopyLocation.customLocation String Conditional 오리진 도메인 이름
  • originalCopyLocation.typeLOAD_BALANCER, API_GATEWAY, CUSTOM인 경우, 필수 입력
forwardHostHeader Object Required 호스트 헤더 포워딩 설정
forwardHostHeader.type String Required 포워딩 유형
  • INCOMING_HOST_HEADER | ORIGIN_HOSTNAME | CUSTOM
    • INCOMING_HOST_HEADER: 클라이언트에서 전달받은 헤더 사용
    • ORIGIN_HOSTNAME: 특정 값으로 헤더 치환
    • CUSTOM: 헤더 값 지정
forwardHostHeader.customHostHeader String Conditional 호스트 헤더 값
  • forwardHostHeader.typeCUSTOM인 경우, 필수 입력
originalCopyProtocol Object Required 오리진 프로토콜 설정
originalCopyProtocol.type String Required 프로토콜 유형
  • HTTP | HTTPS
originalCopyProtocol.port Integer Required 포트 번호
originalCopyPath String Optional 오리진 경로
  • 오리진 요청 시 추가할 URL
  • /{경로}/ 형식: 영문자, 숫자, 특수 문자 '_' 허용
originFailoverConfig Object Optional 오리진 페일오버 설정
originFailoverConfig.ruleName String Conditional 페일오버 규칙 이름
originFailoverConfig.statusCodes Array Conditional 오리진 응답 코드 목록
  • 404 | 500 | 502 | 503 | 504
originFailoverConfig.originalCopyLocation Object Conditional 요청을 포워딩할 백업 오리진 서버 정보
originFailoverConfig.originalCopyLocation.type String Conditional 백업 오리진 유형
  • OBJECT_STORAGE | CUSTOM
    • OBJECT_STORAGE: Object Storage
    • CUSTOM: 외부 도메인
originFailoverConfig.originalCopyLocation.region String Conditional 서비스 리전
  • KR | USWN | SGN | JPN | DEN
    • KR: 한국
    • USWN: 미국
    • SGN: 싱가포르
    • JPN: 일본
    • DEN: 독일
  • originFailoverConfig.originalCopyLocation.typeOBJECT_STORAGE인 경우, 필수 입력
originFailoverConfig.originalCopyLocation.bucketName String Conditional 버킷 이름
  • originFailoverConfig.originalCopyLocation.typeOBJECT_STORAGE인 경우, 필수 입력
originFailoverConfig.originalCopyLocation.customLocation String Conditional 오리진 도메인 이름
  • originFailoverConfig.originalCopyLocation.typeCUSTOM인 경우, 필수 입력

CdnCachingConfig

CdnCachingConfig에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
defaultCaching Object Required 캐시 기본 설정
defaultCaching.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
defaultCaching.ruleDefinitionType String Required 캐시 옵션
  • CACHING | BYPASS_CACHE | ORIGIN_CACHE_CONTROL_HEADER
    • CACHING: 캐시
    • BYPASS_CACHE: 오리진 서버로 바이패스
    • ORIGIN_CACHE_CONTROL_HEADER: 오리진 Cache-Control 헤더 기준으로 처리
defaultCaching.cacheRevalidateConfig Object Required 오래된 객체 재검증 설정
  • 캐시 수명이 만료되고 오리진 사용 불가 시 수행 동작 지정
defaultCaching.cacheRevalidateConfig.type String Required 재검증 유형
  • IF_POSSIBLE | ALWAYS
    • IF_POSSIBLE: 확인 불가 시 오래된 객체 서비스 제공
    • ALWAYS: 오리진 항상 검증
defaultCaching.cacheRevalidateConfig.ageType String Required 캐시 최대 보관 기간 단위
  • SECONDS | MINUTES | HOURS | DAYS
    • SECONDS: 초
    • MINUTES: 분
    • HOURS: 시간
    • DAYS: 일
defaultCaching.cacheRevalidateConfig.age String Required 캐시 최대 보관 기간
  • 1초~365일
negativeTtl Boolean Required 네거티브 TTL 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • 오리진 서버에서 오류 응답 반환 시 응답 캐싱
bypassQueryString Object Required 바이패스 쿼리 스트링 설정
  • 캐싱 없이 오리진 서버로 바이패스하는 조건 문자열 지정
bypassQueryString.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
bypassQueryString.queryStrings Array Conditional 대상 문자열 목록
cacheKeyHostname String Required 캐시 키 호스트 이름 유형
  • INCOMING_HOST_HEADER | ORIGIN_HOSTNAME
    • INCOMING_HOST_HEADER: 캐시 키에 서비스 도메인 포함
    • ORIGIN_HOSTNAME: 캐시 키에 오리진 서버의 호스트 이름 포함
cacheKeyIgnoreQueryString Object Required 캐시 키 쿼리 스트링 설정
  • 캐시 키 생성 시 쿼리 문자열의 포함/무시 방식 지정
cacheKeyIgnoreQueryString.type String Required 설정 유형
  • ALL_IGNORED | ALL_ALLOWED | ALLOW_SPECIFIC_STRING
    • ALL_IGNORED: 전체 무시
    • ALL_ALLOWED: 전체 허용
    • ALLOW_SPECIFIC_STRING: 특정 문자열 허용
cacheKeyIgnoreQueryString.queryStrings Array Conditional 대상 문자열 목록
  • cacheKeyIgnoreQueryString.typeALLOW_SPECIFIC_STRING인 경우, 필수 입력
urlLetterCaseIgnoreUse Boolean Optional 캐시 키 대소문자 구분 무시 여부
  • true | false (기본값)
    • true: 무시
    • false: 무시 안 함
  • 오리진이 대소문자를 구분하지 않는 경우, URL 및 파일 이름의 대소문자를 무시하고 캐싱 가능
removeVaryHeader Boolean Required Vary 헤더 제거 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • 사용 시 오리진 서버 응답의 Accept-Encoding 외 Vary 헤더 제거 후 캐싱
edgeAuth Object Required 요청 인증 설정
  • 토큰으로 요청을 인증하여 통과된 경우에만 응답하도록 지정
edgeAuth.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
edgeAuth.type String Conditional 인증 유형
  • SIGNED_URL | JWT | MEDIA_VAULT
    • SIGNED_URL: URL에 인증 정보 포함
    • JWT: JSON 토큰을 생성해 HTTP 헤더에 포함
    • MEDIA_VAULT: URL에 인증 정보 포함
  • regionTypeGLOBAL인 경우, MEDIA_VAULT만 사용 가능
edgeAuth.tokenName String Conditional 토큰 이름
  • 공백 없이 영문 소문자를 조합하여 입력
edgeAuth.tokenKey String Conditional 토큰 키 값
edgeAuth.bypassValues Array Optional 인증 제외 확장자 목록
  • 20개 이하로 입력
  • MEDIA_VAULT 유형은 지원 안 함
  • <예시> .ts, .jpg, .exe
edgeAuth.tokenBypassValues Array Optional 인증값을 오리진에 전달하는 확장자 목록
  • 20개 이하로 입력
  • MEDIA_VAULT 유형은 지원 안 함
  • <예시> playlist.m3u8, index.m3u8, .ts, .png
cachingRules Array Required 캐시 상세 룰 설정: CachingRule

CachingRule

CachingRule에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
ruleName String Required 캐시 상세 룰 이름
ruleType String Required 룰 조건 유형
  • DIRECTORY | FILE_EXTENSION | ADVANCED
    • DIRECTORY: 디렉터리
    • FILE_EXTENSION: 파일 확장자
    • ADVANCED: 디렉터리 및 파일 확장자
ruleConditions Array Required 룰 조건 목록
  • ruleType 값에 따른 조건 입력
  • <예시> /*, /sample/*
ruleDefinitionType String Required 캐시 옵션
  • CACHING | BYPASS_CACHE | ORIGIN_CACHE_CONTROL_HEADER
    • CACHING: 캐시
    • BYPASS_CACHE: 오리진 서버로 바이패스
    • ORIGIN_CACHE_CONTROL_HEADER: 오리진 Cache-Control 헤더 기준으로 처리
cacheRevalidateConfig Object Required 오래된 객체 재검증 설정
  • 캐시 수명이 만료되고 오리진 사용 불가 시 수행 동작 지정
cacheRevalidateConfig.type String Required 재검증 유형
  • IF_POSSIBLE | ALWAYS
    • IF_POSSIBLE: 확인 불가 시 오래된 객체 서비스 제공
    • ALWAYS: 오리진 항상 검증
cacheRevalidateConfig.ageType String Required 캐시 최대 보관 기간 단위
  • SECONDS | MINUTES | HOURS | DAYS
    • SECONDS: 초
    • MINUTES: 분
    • HOURS: 시간
    • DAYS: 일
cacheRevalidateConfig.age Integer Required 캐시 최대 보관 기간
  • 1초~365일
ruleBasedRoutingConfig Object Required 룰 기반 오리진 라우팅 설정
  • 룰 조건 부합 시 지정 위치로 오리진 라우팅
ruleBasedRoutingConfig.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
ruleBasedRoutingConfig.originalCopyLocation Object Conditional 오리진 서버 설정
ruleBasedRoutingConfig.originalCopyLocation.type String Conditional 오리진 유형
  • OBJECT_STORAGE | CUSTOM
    • OBJECT_STORAGE: Object Storage
    • CUSTOM: 외부 도메인
ruleBasedRoutingConfig.originalCopyLocation.region String Conditional 서비스 리전
  • KR | USWN | SGN | JPN | DEN
    • KR: 한국
    • USWN: 미국
    • SGN: 싱가포르
    • JPN: 일본
    • DEN: 독일
  • ruleBasedRoutingConfig.originalCopyLocation.typeOBJECT_STORAGE인 경우, 필수 입력
ruleBasedRoutingConfig.originalCopyLocation.bucketName String Conditional 버킷 이름
  • ruleBasedRoutingConfig.originalCopyLocation.typeOBJECT_STORAGE인 경우, 필수 입력
ruleBasedRoutingConfig.originalCopyLocation.customLocation String Conditional 오리진 도메인 이름
  • ruleBasedRoutingConfig.originalCopyLocation.typeCUSTOM인 경우, 필수 입력
browserCache Object Required 브라우저 캐시 설정
  • 엣지에서 클라이언트에 보낼 캐싱 동작 지정
browserCache.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
browserCache.type String Conditional 브라우저 캐시 허용 유형
  • ALLOW_CACHE | NO_CACHE
    • ALLOW_CACHE: 캐시 허용
    • NO_CACHE: 캐시 허용하지 않음
browserCache.ageType String Conditional 캐시 최대 보관 기간 단위
  • SECONDS | MINUTES | HOURS | DAYS
    • SECONDS: 초
    • MINUTES: 분
    • HOURS: 시간
    • DAYS: 일
browserCache.age Integer Conditional 캐시 최대 보관 기간
  • 1초~365일
cacheKeyQueryParameter Object Required 캐시 키 쿼리 파라미터 설정
  • 캐시 키 생성 시 쿼리 문자열의 포함/무시 방식 지정
cacheKeyQueryParameter.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
cacheKeyQueryParameter.type String Conditional 설정 유형
  • ALL_IGNORED | ALL_ALLOWED | IGNORE_SPECIFIC_STRING | ALLOW_SPECIFIC_STRING
    • ALL_IGNORED: 모두 무시
    • ALL_ALLOWED: 모두 허용
    • IGNORE_SPECIFIC_STRING: 특정 문자열 무시
    • ALLOW_SPECIFIC_STRING: 특정 문자열 허용
cacheKeyQueryParameter.queryParameters Array Conditional 대상 문자열 목록
  • cacheKeyQueryParameter.typeALLOW_SPECIFIC_STRING 또는 IGNORE_SPECIFIC_STRING인 경우, 필수 입력
accessDeny Boolean Required 룰 조건(ruleConditions)에 대한 접근 차단 여부
  • true | false
    • true: 차단
    • false: 차단하지 않음
urlRedirect Object Required URL 리디렉션 설정
  • 룰 조건 부합 시 오리진 서버가 아닌 리디렉션으로 응답
  • urlRedirecturlRewrite 중 하나만 사용 가능
urlRedirect.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
urlRedirect.destinationProtocol String Conditional 리디렉션 목적지 프로토콜
  • HTTP | HTTPS
urlRedirect.destinationHostname String Conditional 리디렉션 목적지 호스트
  • 영문자, 숫자, 특수 문자 '-', '.'을 허용하며, 도메인 형식으로 입력
urlRedirect.destinationPath String Conditional 리디렉션 목적지 상세 경로
urlRedirect.responseCode String Conditional 리디렉션 상태 코드
  • MOVED_PERMANENTLY_301 | FOUND_302
    • MOVED_PERMANENTLY_301: 영구적 URL 이동
    • FOUND_302: 일시적 URL 이동
urlRewrite Object Required URL 리라이팅 설정
  • 룰 조건 부합 시 요청의 URL 자동 수정
  • urlRedirecturlRewrite 중 하나만 사용 가능
urlRewrite.enabled Boolean Required 기능 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • true인 경우, 관련 정보 필수 입력
urlRewrite.rewriteTarget String Conditional 목적지 상세 경로

ManagedRule

ManagedRule에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
cors Boolean Required CORS 헤더(교차 오리진 리소스 공유 헤더) 추가 여부
  • true | false
    • true: 추가
    • false: 추가 안 함
http2 Boolean Required HTTP/2(개방형 네트워크 프로토콜) 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
trueClientIpHeader Boolean Required 오리진 서버로 요청 포워딩 시 헤더에 클라이언트 IP 헤더 추가 여부
  • true | false
    • true: 추가
    • false: 추가 안 함
hsts Boolean Required 브라우저 연결에 HTTPS 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함

HeaderPolicy

HeaderPolicy에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
type String Required 헤더 유형
  • ORIGIN_REQUEST | CLIENT_RESPONSE
    • ORIGIN_REQUEST: 오리진 서버에 포워딩되는 요청 헤더
    • CLIENT_RESPONSE: 서버에서 클라이언트로 전송되는 응답 헤더
ruleName String Required 헤더 설정 이름
header Object Required 헤더 상세 설정
header.type String Required 액션 유형
  • ADD | MODIFY | REMOVE
    • ADD: 추가
    • MODIFY: 수정
    • REMOVE: 삭제
header.name String Required 헤더 이름
header.value String Conditional 헤더 값
  • header.typeADD 또는 MODIFY인 경우, 필수 입력

OptimizationConfig

OptimizationConfig에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
httpCompression Boolean Required Gzip, Brotli 압축 전송 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • 사용 시 응답 시간 단축
largeFileOptimization Boolean Required 대용량 파일 전송 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
  • 사용 시 대용량 파일 전송 성능 및 안정성 최적화

AccessControl

AccessControl에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
type String Required 접근 제어 유형
  • WHITELIST | BLACKLIST
    • WHITELIST: 화이트리스트
    • BLACKLIST: 블랙리스트
  • 둘 중 한 정책만 사용 가능
ipPolicies Array Required 클라이언트 IP 또는 CIDR 블록
  • IP 형식으로 입력 가능
  • 미설정 시 빈 값 [] 입력
  • ipPolicies, geoPolicies, refererPolicies 중 하나 이상 필수 입력
geoPolicies Array Required 클라이언트 국가 코드
  • ISO 3166-1 alpha-2 국가 코드 기준
  • 미설정 시 빈 값 [] 입력
  • ipPolicies, geoPolicies, refererPolicies 중 하나 이상 필수 입력
refererPolicies Array Required HTTP 요청 레퍼러 헤더
  • 도메인 형식으로 입력 가능
  • 미설정 시 빈 값 [] 입력
  • ipPolicies, geoPolicies, refererPolicies 중 하나 이상 필수 입력

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://edge.apigw.ntruss.com/api/v1/cdn-edge' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "profileId": 4210,
    "edgeName": "edge001",
    "distributionConfig": {
        "protocolType": "ALL",
        "regionType": "KOREA",
        "serviceDomain": {
            "domainType": "NCP_DOMAIN_AUTO",
            "domainName": null,
            "certificate": null
        },
        "edgeLogging": {
            "enabled": true,
            "bucketPrefix": "edge/log",
            "objectStorage": {
                "region": "KR",
                "bucketName": "mmmmbucket"
            }
        }
    },
    "originalCopyConfig": {
        "originalCopyLocation": {
            "type": "OBJECT_STORAGE",
            "region": "KR",
            "bucketName": "mybucket"
        },
        "forwardHostHeader": {
            "type": "ORIGIN_HOSTNAME"
        },
        "originalCopyProtocol": {
            "type": "HTTPS",
            "port": 443
        },
        "originalCopyPath": null,
        "originFailoverConfig": {
            "ruleName": "failrule1",
            "statusCodes": [
                "404",
                "500",
                "502",
                "503",
                "504"
            ],
            "originalCopyLocation": {
                "type": "CUSTOM",
                "customLocation": "customdomain.com"
            }
        }
    },
    "cachingConfig": {
        "defaultCaching": {
            "enabled": true,
            "ruleDefinitionType": "CACHING",
            "cacheRevalidateConfig": {
                "type": "IF_POSSIBLE",
                "ageType": "HOURS",
                "age": "10"
            }
        },
        "negativeTtl": true,
        "bypassQueryString": {
            "enabled": true,
            "queryStrings": [
                "aaa",
                "bbb",
                "ccc"
            ]
        },
        "cacheKeyHostname": "INCOMING_HOST_HEADER",
        "cacheKeyIgnoreQueryString": {
            "type": "ALL_ALLOWED"
        },
        "urlLetterCaseIgnoreUse": true,
        "removeVaryHeader": true,
        "edgeAuth": {
            "enabled": true,
            "type": "SIGNED_URL",
            "tokenName": "tokenname",
            "tokenKey": "b7*********************b45"
        },
        "cachingRules": [
            {
                "ruleName": "sample",
                "ruleType": "DIRECTORY",
                "ruleConditions": [
                    "/sample/*"
                ],
                "ruleDefinitionType": "CACHING",
                "cacheRevalidateConfig": {
                    "type": "IF_POSSIBLE",
                    "ageType": "SECONDS",
                    "age": 100
                },
                "ruleBasedRoutingConfig": {
                    "enabled": true,
                    "originalCopyLocation": {
                        "type": "CUSTOM",
                        "region": null,
                        "bucketName": null,
                        "customLocation": "admin.example.co.kr"
                    }
                },
                "browserCache": {
                    "enabled": true,
                    "type": "ALLOW_CACHE",
                    "ageType": "SECONDS",
                    "age": 100
                },
                "cacheKeyQueryParameter": {
                    "enabled": true,
                    "type": "IGNORE_SPECIFIC_STRING",
                    "queryParameters": [
                        "aaa",
                        "bbb",
                        "ccc"
                    ]
                },
                "accessDeny": false,
                "urlRedirect": {
                    "enabled": true,
                    "destinationProtocol": "HTTP",
                    "destinationHostname": "ncloud.com",
                    "destinationPath": "/home",
                    "responseCode": "FOUND_302"
                },
                "urlRewrite": {
                    "enabled": false,
                    "rewriteTarget": null
                }
            }
        ]
    },
    "managedRule": {
        "cors": true,
        "http2": true,
        "trueClientIpHeader": true,
        "hsts": false
    },
    "headerPolicies": [
        {
            "type": "ORIGIN_REQUEST",
            "ruleName": "Modify Origin Request Header",
            "header": {
                "type": "ADD",
                "name": "headername",
                "value": "headervalue"
            }
        },
        {
            "type": "CLIENT_RESPONSE",
            "ruleName": "Modify Client Response Header",
            "header": {
                "type": "MODIFY",
                "name": "rheadername",
                "value": "rheadervalue"
            }
        }
    ],
    "optimizationConfig": {
        "httpCompression": true,
        "largeFileOptimization": true
    },
    "accessControl": {
        "type": "WHITELIST",
        "ipPolicies": [
            "1.1.1.1",
            "2.2.2.2",
            "3.3.3.3"
        ],
        "geoPolicies": [
            "AL",
            "SK",
            "ZM"
        ],
        "refererPolicies": [
            "ncloud.com",
            "naver.com"
        ]
    }
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
code String - 응답 코드
message String - 응답 메시지
result Object - 응답 결과
result.edgeId Integer - 엣지 아이디

응답 상태 코드

Global Edge API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Global Edge 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "code": "0000",
    "message": "Success",
    "result": {
        "edgeId": 11207
    }
}