Question


특정 국가에서 오는 요청을 국가 별 URL로 redirection 하도록 구성하고 싶은데 방법이 있을까요?






Answer


이는 Amazon CloudFront엣지 함수를 통해 자체 코드를 작성하여 구성할 수 있습니다 :)


다음 예제 함수는 요청이 특정 국가 내에서 오는 경우 최종 사용자를 국가 별 URL로 리디렉션하는 응답을 생성합니다.

이 함수는 CloudFront-Viewer-Country 헤더의 값에 의존하여 최종 사용자의 국가를 결정합니다.



중요

 이 함수가 실행되려면 CloudFront-Viewer-Country 캐시 정책의 헤더 목록에 헤더를 추가하여 수신되는 요청에 헤더를 추가하도록 CloudFront를 구성해야 합니다.



아래 예제에서는 독일에 대한 최종 사용자 요청이 독일에서 오는 경우 최종 사용자를 독일에 고유한 URL로 리디렉션합니다.

최종 사용자 요청이 독일에서 오지 않는 경우 함수는 수정되지 않은 원래의 요청을 반환합니다.


최종 사용자 요청 함수입니다.

GitHub에서 이 예제를 참조하세요.



function handler(event) {
    var request = event.request;
    var headers = request.headers;
    var host = request.headers.host.value;
    var country = 'DE' // Choose a country code
    var newurl = `https://${host}/de/index.html` // Change the redirect URL to your choice

    if (headers['cloudfront-viewer-country']) {
        var countryCode = headers['cloudfront-viewer-country'].value;
        if (countryCode === country) {
            var response = {
                statusCode: 302,
                statusDescription: 'Found',
                headers:
                    { "location": { "value": newurl } }
                }

            return response;
        }
    }
    return request;
}





참고 링크:


# 최종 사용자를 새 URL로 리디렉션 -

https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/example-function-redirect-url.html






위 내용 관련하여 궁금증이 해결되지 않으셨거나,

추가 문의 사항이 있으시면 저희 고객 지원 포털에 문의 남겨주시기 바랍니다.