현상 설명
CDN의 동일한 리소스 URL에 대해 서로 다른 리전의 단말 사용자가 CDN 노드 액세스 시 반환되는 내용이 불일치합니다.
예상 원인
원인1: 도메인 설정의 전체 매개변수 필터링 캐시 키 규칙이 히트됨과 동시에 원본 서버에서 매개변수에 따라 서로 다른 리소스 내보내기가 설정된 경우
원본 서버는 매개변수에 따라 서로 다른 데이터를 내보내지만, CDN은 매개변수를 무시하고 캐시하기 때문에 각 노드에서 최초로 수신한 액세스 매개변수에 따라 서로 다른 캐시를 구축하게 됩니다. 그 후 동일한 요청이 다른 노드에 액세스하면 수신하는 캐시 반환 데이터도 달라집니다.
원인2: 원본 서버에서 동일한 리소스 업데이트 후 퍼지하지 않은 경우
CDN은 URL에 따라 리소스를 캐시합니다. 원본 서버에서 파일을 업데이트한 후 URL 변경 없이 콘텐츠만 변경되었다면 액세스 시 노드에 캐시가 있는 경우 직접 캐시가 히트됩니다. 또한 각 리전의 액세스 이슈 및 만료 시간이 달라 일부 노드 캐시가 이미 만료된 경우, 재액세스 시 원본 서버에서 새로운 리소스를 풀링합니다. 이때 각 노드 캐시에 신규 버전과 기존 버전이 동시에 존재하게 되어 각 노드의 캐시 콘텐츠가 일치하지 않는 상황이 발생합니다.
해결 방법
1. 원본 서버에서 URL 매개변수에 따른 서로 다른 리소스 내보내기와 CDN 도메인에 설정된 전체 매개변수 필터링 캐시 키 규칙을 동시에 사용하지 마십시오.
2. 원본 서버의 동일한 URL 리소스를 업데이트한 후 일괄 퍼지 처리합니다.
처리 순서
1. 사용자의 상황에 따라 원본 서버에서 각 URL 매개변수마다 서로 다른 리소스를 내보내는지 판단합니다.
2. CDN 콘솔에 로그인한 후, [도메인 관리]를 선택해 해당 도메인 설정을 찾습니다. [캐시 설정]>[캐시 키 규칙 설정]의 '매개변수 필터링' 항목에서 CDN 설정 도메인에 매개변수 필터링 캐시 기능이 활성화되어 있는지 확인합니다.
3. 캐시 키 규칙 설정의 해당 규칙 작업 열에서 [수정]을 클릭하고, 팝업되는 '규칙 수정' 창에서 매개변수 필터링 기능을 비활성화한 후 [저장]을 클릭합니다.
설명:
CDN은 지정 매개변수 필터링 기능도 제공합니다. 전체 비활성화가 불편한 경우, 실제 비즈니스 요구사항에 따라 선택하여 사용할 수 있습니다. 자세한 사용 방법은 캐시 키 규칙 설정을 참조하십시오.
4. [퍼지와 프리패치] 디렉터리로 이동하여 원본 서버에서 변경된 리소스를 퍼지합니다.
설명:
API 방식을 이용해 퍼지할 수도 있습니다. 이 경우 원본 서버의 리소스가 변경될 때 API 호출을 바인딩하여 퍼지할 수 있으므로 전체 네트워크에서 변경된 리소스에 대한 액세스 콘텐츠의 일치성을 확보할 수 있습니다. 자세한 내용은 URL 퍼지 인터페이스 및 디렉터리 퍼지 인터페이스를 참조하십시오.