프론트 앱을 react나 vue 같은 프레임워크으로 개발한다고 치고, 빌드된 결과물을 ec2에 nginx 같은걸 쓰거나 기타 서비스를 이용해서 배포하는 글이 많은데, 실제 서비스에서도 이런 식으로 운용하나요?
그리고 그렇게 개발한 페이지에서 api 서버로부터의 동적 데이터가 필요할때 cors 문제로 요청이 불가한데, 이걸 해결하는 방법으로 서버에서 cors 를 허용해주거나 ssl 인증서로 https 를 사용할 수 있는데, 마찬가지로 실제 배포되는 서비스에서도 이런 구조를 사용하나요?
공부하면서 찾아보는데, 이런 방법들이 뭔가 임시방편으로 때워버리는 해결책인것 같은 생각이 자꾸 들어서 질문드립니다.
일반적으로 프론트와 백을 나눠서 개발하는 경우, 각각 어떤 식으로 배포하는지 그 구조에 대해서 설명해주시면 감사하겠습니다.
리액트는 보통 S3에 정적으로 올리고 CloudFront 달아서 HTTPS 설정이랑 도메인 연결해줌. EC2에는 백엔드 서버만 올려놓고 백엔드 서버에서 리액트 클라이언트 도메인 CORS 허용해주게 설정함. 전 회사에선 이렇게 했는데 딴데는 몰루
경험 공유 감사합니다. 아랫분의 답변까지 보니 일반적인 방법이 맞는 것 같네요. 답변 감사합니다. 좋은 하루 되세요~~
프론트 : 빌드된 결과물 랜더링하는 서버 + nginix(or apache) 앞단에서 처리해주는 서버 + 실제 빌드 코드 백 : 서버코드 + db서버 당연히 CORS 대응해줘야하고, 경우에 따라 별도 api 검증 키를 요구하는 케이스도 있음.
아~~정상적인 방법이 맞나보군요. 답변 감사합니다. 좋은 하루 되세요
위에분이랑 비슷한데요. 위에분은 랜더링 하는 서버를 cloudfront로 처리하시는것같구요. 제가 다니는 회사는 cloudfront가 하는일을 직접 처리해요. cloud front 같은거 하면 nginix같은거나 도메인, 로드벨런싱, HTTPS 등 할거 대신해주긴 하겠네요.