CDN – Cache Poisoning

문제점 CDN 서버를 운영 중에 요청 헤더를 응답 헤더에 포함시키는 오리진이 존재 했습니다. 이 경우 발생할 수 있는 문제점은 Content-Disposition ‘attachment; filename=”hack.exe”와 같은 헤더를 요청 헤더에 포함 했을 때입니다. 일반적인 웹 구성이라면 상관이 없지만 해당 컨텐츠를 캐싱하는 경우 다음과 같이 해당 응답 헤더를 캐싱 해서 문제가 됩니다. 해당 컨텐츠를 브라우저를 통해서 접근하면, 다음과 같이 파일이 […]

TCP – Slow Response

TIME_WAIT 상태인 socket에 동일한 source ip와 source port로 요청이 와서 발생한 issue입니다. 동일한 source ip와 source port로 요청이 온다는 것은 resource가 부족해서 발생한 것이라고 추측 하였습니다. 그림을 보면, Server에서 4-way handshaking을 통해 정상적으로 session을 끝내고 해당 socket이 TIME_WAIT 상태로 빠지게 됩니다. 이후 TIME_WAIT 상태에 빠진 상태에서 동일한 source로 요청이 들어와서 server는 다시 한번 FIN에 대한 ACK으로 […]

CDN – 504 Handling

문제점 하나의 CDN farm에서 여러 origin을 캐싱할 때 처리 지연은 문제를 발생 시킵니다. 캐시 서버에서 miss가 발생해서 origin으로 부터 데이터를 가지고 올 때, origin이 부하가 심한 경우 응답처리가 늦어질 수 있습니다. 응답처리가 늦어지는데 계속해서 추가 요청이 들어오면 캐시 서버는 타임아웃이 발생할 때까지 소켓이 점유된 상태로 남게 됩니다. 요청이 많은 캐시 서버에서 이러한 현상이 지속될 경우 […]