Software Workshop

React.js 개발 환경에서도 OAuth 인증 테스트의 이유로 HTTPS 서비스를 실행시켜야 할 경우가 있다.

이런 경우, package.json 파일의 scripts 그룹의 start 항목에 HTTPS=true를 추가하면 된다. 이게 가장 간단한 방법이다.

  "scripts": {
    "start": "HTTPS=true react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

TLS 인증서가 준비되어 있지 않은 채로 실행하게 되면, 브라우저에서 경고 메시지를 보여주는데, 프론트엔드 개발 단계에서는 큰 문제가 되지 않는다.

다만, 사설 인증서라도 발급해서 경고 메시지 없이 HTTPS 서비스를 실행하고자 하는 경우에는 다음과 같이 추가 작업을 해줄 필요가 있다.

openssl req -x509 -newkey rsa:2048 -keyout mykey.pem -out mycert.pem
  "scripts": {
    "start": "export HTTPS=true&&SSL_CRT_FILE=mycert.pem&&SSL_KEY_FILE=mykey.pem react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

브라우저에서 여전히 경고 메시지를 출력하는데, 인증서 항목을 클릭해서 OS의 키체인이나 인증서 저장소에 저장해두면 된다. 자세한 내용은 다음 문서를 참고하는 게 좋다.