🙃 일단 배포는 했지만...
그룹스터디 프로젝트중 서버 배포 단계에 들어갔다.
같은 배포 서비스로 Qoddi
를 고려해보기도 했지만,
Fly.io
를 사용하게 된 이유는 검색 레퍼런스가 상대적으로 많았기 때문이다.
배포를 쉽게 해준다는 설명은 있지만, 좀 더 자세한 내용을 작성하고 싶다.
Docker, 네트워크(Http, Https, ...)
ubuntu 22.04 ver
flyctl global 설치
flyctl 최단 경로 등록하기
Fly.io 배포를 위한 로그인
Fly.io launch 실행하기
flyctl secrets set [변수명]="내용"
flyctl secrets --app [app-name] set [변수명]="내용"
Healthy라면 축하드려요!
변수 등록을 잊지 말자
dorckerfile 확인
build 잘 되어 있는지 확인
port 확인하기
배포는 잘 되었는데 프론트에서 접속이 금지 되었다.
싱글벙글 Access-control-allow-Origin
💡 요약: request, response 요청에 모두 설정 해줘야 한다.
왜 발생했을까?
https://developer.mozilla.org/ko/docs/Web/HTTP/CORS#access-control-allow-origin
http요청은 리소스를 공유하기 전 사전요청을 수행한다.
(리소스 전송전, 올바른 요청인지 미리 헤더로 확인하는 작업)
문제를 일으킨 헤더는 요청 자격 증명을 위한 header이므로
특정 IP를 허락할 경우, 다시 같은 URL로 반납을 해야한다.
즉, http 통신 과정에서 preflight 자격증명이 필요하기 때문에 해당 header를 백에서도 response
에 헤더를 설정해서 응답을 해야한다는 의미다.
1. 빠른 Https 배포
2. 생각보다 넉넉한 free tier
3. 꽤 편리한 배포 과정
1. 8080이 최선 일까?
2. 필요하지만 없는 일부 기능
그 외 : 포트변경, 생각보다 불친절한 문서... 남아있는 개발 이슈
해당 글을 작성하고 한 3달 쯤 되는 시점...
데이터베이스를 사용하면서 과금이 3만원 정도 발생했다.
알고보니 Fly.io의 경우, AWS의 RDB서비스를 사용한다는 것을 알게되었다.
⚠️ 목적을 다한 프로젝트는 최대한 빨리 배포를 내리자