React 개발후 배포관련 질문

CRA 기반 react 앱 개발후 배포를 하려 합니다.
현재 상황은
외부 api로 부터 값을 받아오는 nodejs는 aws ec2에 올려놓았고
react는 github page에 배포를 하였습니다.

로컬 개발 환경에서는 문제없이 동작하지만 배포된 github page에서는 strict-origin-when-cross-origin 관련 에러가 발생합니다.
아마도 로컬에서는 http에서 http로 요청하여 문제가 없고
github page의 https 에서 ec2에 올라간 nodejs 서버의 http로 요청하여 에러가 난것 같습니다.
하여
서버 http를 https로 바꾸면 되지 않을까란 생각을 하게 되었고 ssl 인증 및 nginx 라는걸 찾게 되었습니다 .

서론이 너무 길었나요
질문은

  1. ec2에 올라간 nodejs 서버를 nginx를 적용하여 http https 리다이렉트를 사용하면 해결이 되는지
  2. ssl 인증서를 받을때 도메인을 작성해줘야하는대 github 페이지에 배포한건 이미 https 인대 무슨 도메인을 작성해 줘야하는지 모르겠습니다.

잘 알지는 못하지만 같은 문제를 겪어봐서요 ;;
발생할 수 있는 오류는 두가지인데 우선 크롬에서 http 로 다른사이트의 자원을 호출하면 error 가 납니다. https 로 변경하시면 해결되고요…

strict-origin-when-cross-origin 이 오류는 서버측에서 cors header 를 추가해주셔야합니다.
javascript 쪽에서 서버 API 를 호출했을 때 response header 에

Access-Control-Allow-Origin: https://foo.example

위에 https://foo.example 부분은 github page 의 주소로 변경을 하셔야겠죠

또는 모든 출처 전부 허용하려면

Access-Control-Allow-Origin: *

를 response 하게 하면 되는데 보안상 좋지 않습니다.

위 헤더가 있어야 javascript 쪽해서 api 를 호출했을 때 cross origin 에러가 발생하지 않습니다.
express 로 구현 하셨다면 위 헤더를 자동으로 붙여주는 미들웨어가 있을 것입니다.

그리고 ssl 인증서 받을 때 도메인은 ec2 서버의 도메인입니다.
ec2 에 API 서버를 올리면 그 API 에 접근하는 주소의 도메인에 해당하는 ssl 인증서를 발급받으셔서 설치하셔야 합니다.

윗 분 말씀하신 거처럼 깃허브 페이지를 제공해주는 도메인과 api 서버 도메인이 달라서 same origin 정책에 의해 생긴거 같네요 nodejs에서 제공하는 api 가 cross origin을 허용하도록 해주면될 것같네요

nodejs 서버에 cors 패키지 설치한 다음에 github page 주소를 허용시키면 될것 같네요.