본문 바로가기
Diary

2024.02.05

by aeyong-dev 2024. 2. 5.

지난 주말동안 퇴근후에 node.js 코드를 작성했다. 

express 사용이 처음이었지만 크게 어렵지 않게 사용할 수 있었다. 

테스트 중 CORS 오류가 생겼지만 corsOptoins를 추가해주면서 해결했다. 

하지만 배포후에는 404에러가 생겼는데, 한참을 헤매다가 문제의 원인을 알았다. 

 

firebase hosting은 static한 파일을 배포한다. 

내가 작성한 node.js 코드는 dynamic하게 웹 페이지를 크롤링하는 코드이므로 firebase hosting을 사용하는 것은 옳지 않다. 

dynamic한 파일을 배포하려면 firebase functions를 사용해야한다. 

'api를 사용하여 웹 페이지를 dynamic하게 로딩하는 react 프로젝트는 firebase hosting으로 잘 배포되었다. 그런데 firebase hosting으로는 static한 파일만 배포할 수 있다니?'

 

하지만 내 착각이었다. 

js로 작성된 static한 파일을 배포한 것이고, 이 js 코드를 사용해 api 요청을 받으니 결국은 static한 파일을 배포한 것이다. 

firebase functions를 사용한다면 이 문제는 해결될 것이다. 

다만 걱정되는 부분은, firebase functions를 사용하려면 요금제를 업그레이드해야 한다는 점이다. 

월 200만번의 요청까지는 무료이지만 그 이상으로는 종량제 요금이 발생한다. 

내 서비스에서 200만번이나 요청이 발생할 것 같지는 않지만, 보안에 신경쓰지 않는다면 누군가의 악의적인 시도로 얘기치못한 요금을 지불해야 할 수도 있다. 

코드를 완성하면 보안 관련 리팩토링이 필수적이라고 생각된다. 

'Diary' 카테고리의 다른 글

2024.02.14  (0) 2024.02.14
2024.02.08  (0) 2024.02.08
2024.02.02  (0) 2024.02.02
2024.02.01  (0) 2024.02.01
2024.01.31  (0) 2024.01.31