MENU
      Edge 수정
        • PDF

        Edge 수정

        • PDF

        기사 요약

        개요

        생성된 CDN Edge 설정을 변경합니다.

        • 운영 중, 정지 상태에서만 요청 가능합니다.
        • 서비스 지역과 서비스 도메인은 변경할 수 없습니다.

        요청

        요청 URL

        PUT
        https://edge.apigw.ntruss.com/api/v1/cdn-edges/{edgeId}
        Plain text

        요청 바디

        EdgeConfig

        파라미터명필수 여부타입제약 사항설명
        profileIdYesLong프로필 아이디
        edgeNameYesString영어, 숫자 그리고 특수문자 '-', '_' 만 사용가능
        distributionConfigYesCdnDistributionConfig배포 설정
        originalCopyConfigYesCdnOriginalCopyConfig원본 설정
        cachingConfigYesCdnCachingConfig캐시 설정
        managedRuleYesManagedRule매니지드 룰 설정
        headerPoliciesYesList<HeaderPolicy>헤더 설정
        optimizationConfigYesOptimizationConfig최적화 설정
        accessControlYesAccessControl접근 제어 설정

        CdnDistributionConfig

        파라미터명필수 여부타입제약 사항설명
        protocolTypeYesStringHTTP, HTTPS, ALL서비스 프로토콜
        regionTypeYesStringKOREA, JAPAN, GLOBAL서비스 지역
        serviceDomainYesServiceDomain서비스 도메인
        edgeLoggingYesEdgeLoggingEdge 로깅 설정

        ServiceDomain

        파라미터명필수 여부타입제약 사항설명
        domainTypeYesStringNCP_DOMAIN_AUTO, NCP_DOMAIN_CUSTOM, CUSTOM_DOMAIN도메인 사용 유형
        domainNameYesStringdomainType을 custom domain 사용 시 도메인 형식 사용
        certificateNoCertificateHTTPS와 개인 도메인을 같이 사용 시 필수

        Certificate

        파라미터명필수 여부타입제약 사항설명
        idYesLongCertificate Manager에 등록된 인증서의 certificateNo

        EdgeLogging

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        bucketPrefixNoString
        objectStorageNoObjectStorageenabled을 true로 설정 시 필수

        ObjectStorage

        파라미터명필수 여부타입제약 사항설명
        regionYesStringKR, USWN, SGN, JPN, DEN한국(KR), 미국서부(USWN), 싱가포르(SGN), 일본(JPN), 독일(DEN)
        bucketNameYesStringObject Storage 버킷 이름

        CdnOriginalCopyConfig

        파라미터명필수 여부타입제약 사항설명
        originalCopyLocationYesOriginalCopyLocation원본 도메인 설정
        forwardHostHeaderYesForwardHostHeaderForward Host Header
        originalCopyProtocolYesOriginalCopyProtocol원본 프로토콜 설정
        originalCopyPathNoString원본 경로
        originShieldYesOriginShield오리진 쉴드 설정
        originFailoverConfigNoOriginFailoverConfig페일 오버 정책 설정

        OriginalCopyLocation

        파라미터명필수 여부타입제약 사항설명
        typeYesStringOBJECT_STORAGE, CUSTOM, NONE원본 타입
        regionNoStringKR, SGN, JPN, USWN, DEN한국(KR), 싱가포르(SGN), 일본(JPN), 미국서부(USWN), 독일(DEN), Object Storage 사용시 필수
        bucketNameNoStringtype이 Object Storage면 필수Object Storage 버킷 이름
        customLocationNoStringtype이 custom이면 필수bucketName, customLocation은 type에 따라 한 개만 사용 가능

        ForwardHostHeader

        파라미터명필수 여부타입제약 사항설명
        typeYesStringINCOMING_HOST_HEADER, ORIGIN_HOSTNAME, CUSTOM
        customHostHeaderNoStringtype이 custom이면 필수

        OriginalCopyProtocol

        파라미터명필수 여부타입제약 사항설명
        typeYesStringHTTP, HTTPS원본 프로토콜
        portYesInteger원본 포트

        OriginShield

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용여부
        regionNoStringKR, SGN, JPN, USWN, DEN한국(KR), 싱가포르(SGN), 일본(JPN), 미국서부(USWN), 독일(DEN), enabled을 true로 설정 시 필수

        OriginFailoverConfig

        파라미터명필수 여부타입제약 사항설명
        ruleNameYesString
        statusCodesYesList<Integer>404, 500, 502, 503, 504
        originalCopyLocationYesOriginalCopyLocation

        CdnCachingConfig

        파라미터명필수 여부타입제약 사항설명
        defaultCachingYesDefaultCaching기본 캐시 설정
        negativeTtlYesbooleantrue, false사용 여부, 오류 응답 캐시 설정
        bypassQueryStringYesBypassQueryString
        cacheKeyHostnameYesStringINCOMING_HOST_HEADER, ORIGIN_HOSTNAME
        cacheKeyIgnoreQueryStringYesCacheKeyIgnoreQueryString
        removeVaryHeaderYesbooleantrue, false사용 여부
        edgeAuthYesEdgeAuth토큰을 이용하여 사용자의 요청을 검증
        cachingRulesYesList<CachingRule>캐시 상세 설정

        DefaultCaching

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        ruleDefinitionTypeYesStringCACHING, BYPASS_CACHE, ORIGIN_CACHE_CONTROL_HEADER
        cacheRevalidateConfigYesCacheRevalidateConfig

        CacheRevalidateConfig

        파라미터명필수 여부타입제약 사항설명
        typeYesStringIF_POSSIBLE, ALWAYSServe stale if unable to validate(IF_POSSIBLE), Always revalidate with origin(ALWAYS)
        ageTypeYesStringSECONDS, MINUTES, HOURS, DAYS
        ageYesIntegerageType에 따라 시간 단위 변경

        BypassQueryString

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        queryStringsNoList<String>enabled을 true로 설정 시 필수

        CacheKeyIgnoreQueryString

        파라미터명필수 여부타입제약 사항설명
        typeYesStringALL_IGNORED, ALL_ALLOWED, ALLOW_SPECIFIC_STRING
        queryStringsNoList<String>type을 ALLOW_SPECIFIC_STRING 사용 시 필수

        EdgeAuth

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        typeYesStringSIGNED_URL, JWT, MEDIA_VAULT서비스 지역 글로벌 선택시 MEDIA_VAULT만 사용 가능
        서비스지역 한국/일본은 모두 사용 가능
        tokenNameNoString공백없이 영어 소문자만 사용 가능, enabled을 true로 설정 시 필수
        tokenKeyNoStringenabled을 true로 설정 시 필수
        bypassValuesNoList<String>MEDIA_VAULT 지원 안함인증 제외할 확장자(최대 20개)
        예) .ts, .jpg, .exe
        tokenBypassValuesNoList<String>MEDIA_VAULT 지원 안함인증값을 원본으로 전달할 확장자(최대 20개)
        예) playlist.m3u8, index.m3u8, .ts, .png

        CachingRule

        파라미터명필수 여부타입제약 사항설명
        ruleNameYesString
        ruleTypeYesStringDIRECTORY, FILE_EXTENSION, ADVANCED
        ruleConditionsYesList<String>
        ruleDefinitionTypeYesStringCACHING, BYPASS_CACHE, ORIGIN_CACHE_CONTROL_HEADER
        cacheRevalidateConfigYesCacheRevalidateConfig
        ruleBasedRoutingConfigYesRuleBasedRoutingConfig
        browserCacheYesBrowserCache
        cacheKeyQueryParameterYesCacheKeyQueryParameter
        accessDenyYesbooleantrue, false
        urlRedirectYesUrlRedirect
        urlRewriteYesUrlRewrite

        RuleBasedRoutingConfig

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        originalCopyLocationNoOriginalCopyLocationenabled을 true로 설정 시 필수

        BrowserCache

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        typeNoStringALLOW_CACHE, NO_CACHE, enabled을 true로 설정 시 필수
        ageTypeNoStringSECONDS, MINUTES, HOURS, DAYS, enabled을 true로 설정 시 필수
        ageNoIntegerenabled을 true로 설정 시 필수

        CacheKeyQueryParameter

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부
        typeYesStringALL_IGNORED, ALL_ALLOWED, ALLOW_SPECIFIC_STRING, IGNORE_SPECIFIC_STRING
        queryParametersNoList<String>type을 ALLOW_SPECIFIC_STRING, IGNORE_SPECIFIC_STRING 사용 시 필수

        UrlRedirect

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부, UrlRedirect와 UrlRewrite는 동시 사용 불가능
        destinationProtocolNoStringHTTP, HTTPS, enabled을 true로 설정시 필수
        destinationHostnameNoStringenabled을 true로 설정 시 필수
        destinationPathNoStringenabled을 true로 설정 시 필수
        responseCodeNoStringMOVED_PERMANENTLY_301, FOUND_302, enabled을 true로 설정 시 필수

        UrlRewrite

        파라미터명필수 여부타입제약 사항설명
        enabledYesbooleantrue, false사용 여부, UrlRedirect와 UrlRewrite는 동시 사용 불가능
        rewriteTargetNoStringenabled을 true로 설정 시 필수

        ManagedRule

        파라미터명필수 여부타입제약 사항설명
        corsYesbooleantrue, false사용 여부
        http2Yesbooleantrue, false사용 여부
        trueClientIpHeaderYesbooleantrue, false사용 여부
        hstsYesbooleantrue, false사용 여부

        HeaderPolicy

        파라미터명필수 여부타입제약 사항설명
        typeYesStringORIGIN_REQUEST, CLIENT_RESPONSE
        ruleNameYesString
        headerYesHeader

        Header

        파라미터명필수 여부타입제약 사항설명
        typeYesStringADD, MODIFY, REMOVE
        nameYesString
        valueYesString

        OptimizationConfig

        파라미터명필수 여부타입제약 사항설명
        httpCompressionYesbooleantrue, false사용 여부
        largeFileOptimizationYesbooleantrue, false사용 여부

        AccessControl

        파라미터명필수 여부타입제약 사항설명
        typeYesWHITELIST, BLACKLIST모든 접근 제어 규칙은 한가지 정책만 사용 가능
        ipPoliciesYesList<String>IP 형식만 사용 가능
        geoPoliciesYesList<String>ISO 3166-1 alpha-2 국가 코드 사용 가능
        refererPoliciesYesList<String>도메인 형식만 사용 가능

        응답

        모든 응답은 HTTP Status Code로 성공 또는 실패를 반환합니다.

        HTTP 상태 코드코드 메시지설명
        200Success조회 성공
        401Unauthorized인증 실패
        500Internal Server Error서버 오류

        예시

        요청 예시

        https://edge.apigw.ntruss.com/api/v1/cdn-edges/123
        Plain text
        {
            "profileId": 234,
            "edgeName": "sample-edge",
            "distributionConfig": {
                "protocolType": "ALL",
                "regionType": "KOREA",
                "serviceDomain": {
                    "domainType": "NCP_DOMAIN_AUTO",
                    "domainName": null,
                    "certificate": null
                },
                "edgeLogging": {
                    "enabled": true,
                    "objectStorage": {
                        "region": "KR",
                        "bucketName": "sample-bucket"
                    },
                    "bucketPrefix": "log/sample"
                }
            },
            "originalCopyConfig": {
                "originalCopyLocation": {
                    "type": "OBJECT_STORAGE",
                    "region": "KR",
                    "bucketName":"sample-bucket",
                    "customLocation": null
                },
                "forwardHostHeader": {
                    "type": "ORIGIN_HOSTNAME",
                    "customHostHeader": null
                },
                "originalCopyProtocol": {
                    "type": "HTTP",
                    "port": 80
                },
                "originalCopyPath": null,
                "originShield": {
                    "enabled": true,
                    "region": "USWN"
                },
                "originFailoverConfig": null
            },
            "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",
                    "queryStrings": []
                },
                "removeVaryHeader": true,
                "edgeAuth": {
                    "enabled": true,
                    "type": "SIGNED_URL",
                    "tokenName": "name",
                    "tokenKey": "902bceb96b2139771716910ff0b9befb"
                },
                "cachingRules": [{
                    "ruleName": "sample",
                    "ruleType": "DIRECTORY",
                    "ruleConditions": ["/sample/*"],
                    "ruleDefinitionType": "CACHING",
                    "cacheRevalidateConfig": {
                        "type": "IF_POSSIBLE",
                        "ageType": "SECONDS",
                        "age": 100
                    },
                    "ruleBasedRoutingConfig": {
                        "enabled": true,
                        "originalCopyLocation": {
                            "type": "OBJECT_STORAGE",
                            "region": "KR",
                            "bucketName": "sample-bucket",
                            "customLocation": null
                        }
                    },
                    "browserCache": {
                        "enabled": true,
                        "type": "ALLOW_CACHE",
                        "age": 100,
                        "ageType": "SECONDS"
                    },
                    "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 Reqeust Header",
                "header": {
                    "type": "ADD",
                    "name": "name",
                    "value": "value"
                }
            }, {
                "type": "CLIENT_RESPONSE",
                "ruleName": "Modify Client Response Header",
                "header": {
                    "type": "MODIFY",
                    "name": "name",
                    "value": "value"
                }
            }],
            "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"]
            }
        }
        JSON

        응답 예시

        {
            "code": "0000",
            "message": "Success",
            "result": {
                "edgeId": 123
            }
        }
        JSON

        오류 코드

        Error 코드설명
        0032허용되지 않은 요청
        9999서버 오류 발생

        이 문서가 도움이 되었습니까?

        What's Next
        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.