기본 콘텐츠로 건너뛰기

NodeJS로 배포한 서비스에 SSL 인증서 취득하기

NodeJS로 배포한 서비스에 SSL 인증서 취득하기

보안적인 이슈가 많은 근래 앱스토어에서도 SSL을 필수로 취득하도록 하며

https 통신은 의무가 되어가고 있습니다

이 게시물에서는 AWS의 EC2 인스턴스에 NodeJS로 만든 프로젝트를

SSL을 취득하여 https 통신을 가능하게 만드는 과정을 정리해 보고자 합니다

순서

1. 도메인 준비

2. Route53을 이용하여 도메인과 EC2 인스턴스 연결

3. nginx를 사용하여 NodeJS를 80번 포트에서 접근가능하도록 열어주기

4. nginx에서 도메인 - IP address 연결하기

5. ACM을 통해서 SSL 취득하기

6. 취득한 SSL을 사용해 ELB생성 및 Route53 수정하기

위의 과정에서 1~4번 과정을 마치면 Nodejs를 도메인을 사용하여 통신 가능하며

나머지 5~6번 과정을 추가로 마치면 https 통신이 가능합니다

하는 과정에서 실수를 할 수 있기 때문에 한번에 https 통신을 하기 보다는

http 통신을 먼저 마친후에 https 통신을 하는 것을 권장드립니다

도메인 준비 및 EC2와 연결하기

도메인과 서버(EC2) 연결하기

참고로 EC2를 도메인과 연결하려면 탄력적IP할당이 필수적이며

NodeJS서비스를 도메인에 연결하여 가동시키기 위해서는 pm2 모듈을 사용하시는 것을 추천드립니다

탄력적IP로 고정 IP만들기

AWS EC2에 서버 올리기 (using pm2)

nginx를 사용하여 도메인 - NodeJS 연결하기

우선 nginx를 설치합니다

sudo apt-get update sudo apt-get install nginx

설치 후에 자신의 도메인으로 접속하였을 때

다음과 같이 nginx가 반겨주면 성공한 것입니다 :D

만약 위와 같은 화면이 뜨지 않는다면 nginx를 실행해주세요

sudo service ngnix start

nginx가 정상적으로 작동한다면 프록시 설정을 위해 디렉토리를 이동합니다

cd /etc/nginx/sites-available

https://velog.io/@jeff0720/2018-11-18-2111-%EC%9E%91%EC%84%B1%EB%90%A8-iojomvsf0n

ACM을 통해서 SSL 취득하기

ACM을 이용하여 SSL 취득하기

SSL 사용하여 ELB 생성 및 Route53 수정하기

로드밸런서(ELB) 생성하기

from http://artiiicy.tistory.com/21 by ccl(A) rewrite - 2020-03-22 14:20:05

댓글

이 블로그의 인기 게시물

[실습]NodeJS + EXPRESS + MySQL 을 이용한 게시판 만들기 3(MVC)

[실습]NodeJS + EXPRESS + MySQL 을 이용한 게시판 만들기 3(MVC) 실습2 이후 나머지 부분들 까지 라우터 모두 작성함 app/routes/posts.js app/controllers/postsController.js 현재까지의 소스 app/models/postsModel.js 현재까지의 소스 from http://thisblogbusy.tistory.com/139 by ccl(A) rewrite - 2020-03-15 09:20:05

AWS instance로 Nodejs 구현하기

AWS instance로 Nodejs 구현하기 서버와 데이터베이스 관리 차원에서 효율적으로 관리하기 위해선 로컬보다는 서버를 호스팅해서 하는 것이 좋다. 우리는 Nodejs를 구동하기 위해 AWS에서 인스턴스를 할당받을 계획이다. 인스턴스의 pem키를 발급받아 nodejs와 npm까지는 설치를 완료한 상태이다. $ sudo npm install -g express 다음의 명령어를 입력하면 글로벌 옵션으로 어느 path에서든 express를 사용할 수 있게 설치한다. 다음과 같이 실행이 된다면 성공이다. 이후 Express generator를 설치한다. $ sudo npm install -g express-generator@4 버전은 4.x이며 이 역시 글로벌 옵션으로 설치해 준다. 이제 Node monitoring을 위해 nodemon을 설치해 준다. $ sudo npm install -g nodemon 모든 설치가 끝났다. 이제 nodejs를 실행시킬 프로젝트용 directory를 만든다. 이렇게 만들어 주고 express를 실행시키면 된다. $ express -e 다음과 같은 결과가 나오면 된다. 이제 node package를 설치하는 명령어를 입력하자. $ sudo npm install 이제 vi를 통해 포트번호를 정의해보자. app.set의 마지막에 한줄을 추가하면 된다. app.set('port', process.env.PORT || 9000); 이로써 우리는 9000번 포트를 사용하게 되었다. 또한 마지막줄에 서버를 생성하기 위한 코드를 작성하자. module.exports = app; var server = app.listen(app.get('port'), function() { console.log('Express server listening on port ' + server.address().port); }); 이