최신 업데이트:2022-04-12 13:36:16
도메인 해석은 DNS 프로토콜을 기반으로 진행하고 로컬 DNS 서버는 도메인을 실제 서버 주소로 해석합니다. 취약한 로컬 DNS 서버에 의존하고 ISP 또는 공격자에게 쉽게 공격됩니다. 예약에 관련, CDN 제공자는 로컬 DNS IP를 기반으로 위치와 해당 ISP를 식별하고 로컬 DNS IP는 실제 사용자 IP가 아니기 때문에 정확성이 낮습니다.
이러한 상황에 대응하여 CDNetworks는 로컬 DNS 서버 대신 CDNetworks HTTPDNS 클러스터를 사용하여 도메인을 해석하는 HTTPDNS를 개발하여 DNS 하이재킹을 효과적으로 방지합니다. 이는 실제 사용자 IP를 기반으로 하기 때문에 정확성이 높습니다.
하이재킹 방지 및 스케줄링 정확성이 필요한 시나리오에 적용합니다.
HTTPDNS는 전통적인 DNS 프로토콜 대신 HTTP 프로토콜을 통해 해석 결과를 전송하기 때문에 DNS 계층의 하이재킹과 고장을 효과적으로 방지할 수 있습니다. 클라이언트가 CDNetworks HTTPDNS 클러스터에 “DNS조회” 요청을 보내고 CDNetworks HTTPDNS 클러스터는 요청에 포함된 도메인 및 IP 정보를 기반으로 CDN 내부 스케줄링 시스템(정확히 말하면 전체 시스템 로드 밸런싱)에서 DNS 결과를 검색한 다음에 최적의 PoP IP 주소로 클라이언트에 응답합니다. 클라이언트가 HTTP 요청을 받은 최적의 PoP IP 주소로 전송합니다.
그림 1 HTTPDNS의 작업 프로세스
자체 단말기를 보유한 고객만 HTTPDNS 서비스를 이용할 수 있고 사용자의 단말기에 DNS 요청 대신 HTTPDNS SDK를 설치해야 합니다. HTTP DNS 기능은 두 가지 방법으로 설정할 수 있습니다:
요청 URL은 다음과 같습니다: 조회할 가속 도메인+최종 사용자 IP 주소.
URL 형식:
curl “http://server ip/v1/httpdns/clouddns?ws_domain= www.example.com &ws_ret_type=json&ws_cli_IP=1.1.1.1 "
서버 IP: CDNetworks HTTPDNS 클러스터 IP 주소, anycast IP 사용:220.242.54.8 해외;
ws_도메인: 최종 사용자가 요청한 도메인;
ws_cli_IP: 클라이언트 IP주소는 비어 있을 수 있습니다. (비어 있을 경우 HTTPDNS는 클라이언트 IP로 연결 IP를 자동적으로 가져올 것입니다);
ws_ret_유형: 반환 패킷의 형식입니다. 매개 변수 값이 json이면 반환 패킷은 json 형식이고 요청에 이 매개 변수가 없으면 기존 IP TTL 형식으로 반환합니다.
URL 형식:
curl –H “host: edge.wshttpdns.com” “https://[server IP/server domain name]/v1/httpdns/ws_domain=www.example.com& ws_ret_type=json&ws_cli_IP=1.1.1.1” –k
호스트: 고객은 우리 서버 주소로 호스트해야 합니다: “edge.wshttpdns.com”
서버 IP: CDNetworks HTTPDNS 클러스터 IP 주소, anycast IP 사용:220.242.54.8 해외;
ws_도메인: 최종 사용자가 요청한 도메인;
ws_cli_IP: 클라이언트 IP주소는 비어 있을 수 있습니다. (비어 있을 경우 HTTPDNS는 클라이언트 IP로 연결 IP를 자동적으로 가져올 것입니다);
ws_ret_형식: 반환 패킷의 형식입니다. 매개 변수 값이 json이면 반환 패킷은 json 형식이고 요청에 이 매개 변수가 없으면 기존 IP TTL 형식으로 반환합니다.
또한 CDNetworks HTTPDNS는 다중 도메인 조회를 지원하고 동일한 HTTPDNS 요청(요청된 도메인은 세미콜론으로 구분됨)을 통해 여러 도메인 요청을 할 수 있습니다. 응답은 도메인의 A 기록입니다. HTTP 요청 URL 형식: http://service IP/?ws_domain=www. example1.com;www. example2.com&ws_ret_type=json