B-C-ME2SR3

Variable Support / 엔드유저가 사용하는 TLS 버전을 헤더로 전달해보자

Blog Post created by B-C-ME2SR3 Employee on Nov 15, 2016

지난 포스팅에서는 설정 도구가 제공하는 여러가지 Built-In 변수를 살펴보았습니다.

생각만큼 많은 변수가 제공되고 있지 않아 실망(?)하신 분들도 있겠습니다만

지속적으로 제공되는 변수가 추가될 예정이니 관심을 가져주시면 좋겠습니다!

 

이번 포스팅에서는 제공되는 특정한 변수 값을 원본 서버로 전달하는 로직을 구성해 보겠습니다.

보통 아카마이 엣지 서버를 통해 사용자의 요청을 처리하면 LDS (Log Delivery Service) 를 통해

아카마이 넷스토리지 (NetStorage) 혹은 운영중인 FTP 서버, 이메일 등으로 로그를 전달합니다.

 

하지만 실시간으로 Build-In 변수로 제공되는 내용중 원본이 실시간으로 알아야 할 내용이 있다거나

특정한 원본단의 처리, 로그 수집등을 해야 한다면

요청 헤더 (HTTP Request Header) 를 통해 전달하는 것도 하나의 방법이 될 수 있습니다.

 

 

이번 예제에서는 사용자와 아카마이 엣지 서버가 HTTPS 연결을 맺을 때 사용하는

TLS 의 버전과 Cipher Suite 의 정보를 원본에서 헤더로 받아보는 설정을 만들어 보겠습니다. 

먼저 설정에 Blank Rule 을 추가해 보도록 하겠습니다. 

이름은 Forward TLS Version as Header 라고 지정하여 시인성을 높여보았습니다.

 

 

원본으로 전달되는 헤더 조작을 위해 "Modify Outgoing Request Header" 를 추가하고

"X-TLS-VERSION" 이라는 커스텀 헤더명을 통해 AK_TLS_VERSION 과 AK_TLS_CIPHER_NAME 을 전송하도록 구성했습니다.

설정을 배포하고 원본으로 요청을 전달해보면 아래와 같이 헤더가 전송되는 것을 확인할 수 있습니다.

 

테스트에서는 HTTPS 가 아닌 HTTP 요청을 이용하여 UNKNOWN 으로 값이 나왔습니다만

실제 Secure 구성을 한 상태에서는 TLS Handshake 에서 사용된 값이 출력됩니다.

 

 

다음 포스팅에서는 사용자 지정 변수와 Built-In 변수를 함께 이용하여 

아카마이 플랫폼이 더 지능적으로 움직일 수 있도록 하는 작업을 한 번 해보겠습니다.

Outcomes