[Web] TSL 적용해서 HTTPS 통신으로 배포하기

Seungju Hwang·2021년 4월 15일
0

CS

목록 보기
8/10
post-thumbnail

📌 Intro

두 번의 실제 배포를 경험했었는데요. 처음엔 그냥 HTTP 통신으로 배포를 했습니다. 그런데 이게 보안과 SEO 관점에서 좋지 않다고 하더라구요.

그래서 두번째 배포 땐, TSL를 적용해서 HTTPS 통신으로 배포를 진행하였습니다.

개념적인 설명은 차후에 하도록 하겠습니다. 지금은 EC2 환경에서 Nginx를 통해 TSL를 만들어서 HTTPS 통신으로 바꿔볼게요.

📌 설치

$ sudo apt-get update -y & sudo apt-get install letsencrypt -y

# ngixn 중지
$ sudo systemctl stop nginx

📌 인증서발급 & nginx설정

  • 인증서발급
$ sudo letsencrypt certonly --standalone -d [도메인이름]
$ sudo vim /etc/nginx/sites-enabled/default
server {
	listen 80 default_server;
    listen [::]:80 default_server;
    
    server_name [도메인 주소;]
    
    return 301 https://$server_name$request_uri'
    
    index index.html;
	
}


server{
	
    listen 443 ssl;
    listen [::]:443 ssl;
    
    server_name [도메인 주소;]
    
    ssl_certificate /etc/letsencrypt/live/도메인주소/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/도메인주소/privkey.pem;
    
    root /home/ubuntu/.../frontend/dist;  #[프론트엔드 build해서 만들어진 dist폴더]
    index index.html;
    
    # 기본주소는 프론트엔드 index.html로 이동한다라고 선언
    location / { 
    try_files $uri $uri/ index.html
    
    
    # api로 url이 들어오면 nginx에서 api를 제거하고 서버로 보내주겠다!
	location /api/ {
		rewrite ^/api(/.*)$ $1 break; 
		includ proxy_params;
		proxy_pass http://unix:/home/ubuntu/루트폴더명/루트폴더명.sock;
	}
	
    # static 관련해서는 staticfiles를 씁시다!
	location /static/ {
			alias /home/ubuntu/루트폴더명/staticfiles/;
	}
	
}
#nginx 재실행
$ sudo systemctl start nginx

📌 참고

참고한 곳

관련된 내 글

profile
기록하는 습관은 쉽게 무너지지 않아요.

0개의 댓글