오늘은 PDF 다운로드를 구현하면서 겪었던 AWS S3, CloudFront, html2canvas와 관련된 CORS 이슈를 해결했던 경험을 작성해보고자 한다.
html2canvas를 이용해서 PDF 다운로드를 구현했는데, 저번에 올렸던 글에서 S3에서 회원마다 다른 로고를 받아와서 보여주는 부분에서 문제가 발생했다. 화면에서는 문제없이 출력되는데, html2canvas를 거치니까 CORS 에러가 뜨면서 출력물에는 로고 다운로드 실패로 인해 보이지가 않는 상황이 생겼다.
"html2canvas2 cors" 키워드로 구글링을 하면 검색 결과가 많이 나온다. 해결에 가장 도움이 됐던 글에서 제시해준 방법을 사용하면 문제 해결이다.
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"HEAD"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
],
"MaxAgeSeconds": 3000
}
]


allowTaint: true,
useCORS: true,
그럼 문제 해결!
