Django

[django/ubuntu] letsencrypt nginx에 인증서 적용하기

a-몬드 2022. 5. 9. 11:18
반응형

django와 react를 연결할때 자꾸 cors에러가 발생하였다. 

cors관련 에러는 이전 글에도 존재하지만 setting 쪽에서 해줄 수 있는 조치는 다 해주었고 결국 발생하는 이유가 

SSL인증서 때문인거 같아서 SSL 인증서 발급하여 nginx에 실어주려고 한다.

SSL 인증서란?

Secure Socket Layer -보안 인증서

SSL은 전송계층과 응용계층 사이에서 동작한다. 

 

letsencrypt 

SSL을 발급하는 기관으로 최상위 발급기관 중 하나

점유율이 매우 낮지만, 발급 절차가 간단하고 무료라 해보려고 한다.

 

설치하기 전에 패키지들을 update, upgrade 시켜준다.

sudo apt-get update
sudo apt-get upgrade

서버에 Certbot 설치 

sudo apt install certbot
sudo apt-get update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d naver.com -d www.naver.com //이부분을 4일 뒤에 시도

네이버로 예시를 들었지만 내가 사용할 사이트 도메인으로 해야한다.

sudo certbot --nginx -d (사이트 도메인)

IP주소로 다이렉트로 하려고했더니 안돼서 도메인을 만들었다.

(도메인도 바로 생성해도 바로 적용이 안돼서 1일 이상 기다렸다,,, 어린이날 겸 주말까지 연휴로 쭈욱 쉬는 바람에 4일 후에 시도)

certbot --ngins 하니 server_name을 설정해 달라는 문구가 떠서

 

Could not automatically find a matching server block for hms.imtrial.com. Set th e `server_name` directive to use the Nginx installer.

 

/etc/nginx/sites-available로 접속

cd /etc/nginx/sites-available
sudo nano 앱이름

아래와 같은 화면이 보이는데

listen 80; 밑에 

server_name 도메인; 작성 후 저장해 주면 된다.

 

다시 sudo certbot 시도

--ngins로 오타를 낸적이 있어서 다시

 

1 : Arrempt to reinstall this existing certificate 선택

2 : Redirect - Make all requests redirect to secure HTTPS access.

기존 HTTP 연결 요청을 HTTPS로 자동으로 바뀌기를 원하면 2를 선택

 

SSL 인증서 적용하기 성공!!!

설치가 모두 끝나고 SSL 인증서 갱신을 자동으로 할 것이라면 아래 명령어 수행

certbot renew --dry-run

 

반응형