티스토리 뷰

728x90

 이번 포스팅은 Linux(Ubuntu)에 Nginx를 설치하고 Let's Encrypt를 사용해서 http를 https로 변경하는 방법을 알아보겠습니다.

 

Let’s Encrypt란?

 'Let's Encrypt'는 무료로 SSL/TLS 인증서를 제공하는 인증 기관(Certificate Authority, CA)입니다. Let's Encrypt의 목표는 인터넷의 보안을 향상시키기 위해 SSL/TLS 인증서를 쉽게 발급받고 설치할 수 있도록 하는 것입니다. 이 서비스는 비영리 단체인 Internet Security Research Group (ISRG)에 의해 운영됩니다.

 

 

설치시작

 

1. 패키지 목록 업데이트

sudo apt update

 

2. Nginx 설치

sudo apt install nginx

 

3. Nginx 시작 및 부팅 시 자동 시작 설정

sudo systemctl start nginx
sudo systemctl enable nginx

 

4. Nginx 상태 확인 (생략가능)

sudo systemctl status nginx

 

 


 

5. certbot 설치

sudo apt-get install certbot
apt-get install python3-certbot-nginx

 

6. /etc/nginx/conf.d 디렉토리 에 example.com.conf 파일 생성

* 여기서 example.com은 사용자가 구매한 도메인 주소를 입력해야함.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name example.com www.example.com;
}

 

7. nginx 재시작

sudo systemctl restart nginx

 

8.  인증서를 생성

* 마찬가지로 example.com은 사용자가 구매한 도메인 주소를 입력해야함.

sudo certbot --nginx -d example.com -d www.example.com

 

여기서 메일을 입력하라고 하고 메일수신여부 이런거 물어보는데 선택해서 y, n 입력

 

9. 성공메세지

Congratulations!
~

 

이런식으로 표시되면 성공.

 

10. crontab 설정

* 인증서가 90일 이후 만료가 되기때문에 인증서를 갱신해야한다. 만료여부를 확인하고 매일매일 실행되는 갱신 스케줄러를 코드로 작성한다.

 

- 크론탭 열기

crontab -e

 

- 크론탭 수정

0 12 * * * /usr/bin/certbot renew --quiet

 

매일 오전 12시에 만료여부를 확인하고 만료가 되었으면 갱신한다.

 


 

 

마무리

 

 

 이렇게 해서 Linux(Ubuntu)에 Nginx를 설치하고 Let's Encrypt를 사용하여 HTTP를 HTTPS로 변경하는 과정을 완료했습니다. 이번 포스팅을 통해 무료로 제공되는 Let's Encrypt SSL/TLS 인증서를 이용하여 웹사이트의 보안을 강화하는 방법을 알아보았습니다.

요약

  1. Nginx 설치 및 설정: 패키지 목록을 업데이트하고 Nginx를 설치한 후, Nginx를 시작하고 부팅 시 자동으로 시작되도록 설정했습니다.
  2. Certbot 설치 및 인증서 발급: Certbot을 설치하고 Nginx 서버 블록을 설정한 후, Certbot을 사용하여 SSL 인증서를 발급받았습니다.
  3. 자동 갱신 설정: 인증서의 자동 갱신을 위해 crontab에 갱신 스케줄러를 설정했습니다.

 Let's Encrypt를 통해 손쉽게 SSL 인증서를 발급받고 HTTPS를 적용함으로써, 사용자들에게 더 안전한 웹 환경을 제공할 수 있게 되었습니다. 이러한 과정은 웹사이트의 신뢰성을 높이고 SEO에도 긍정적인 영향을 미칩니다.

항상 최신 보안 동향을 따라가며, SSL 인증서 갱신을 자동화하여 웹사이트의 보안을 유지하세요. 다음 포스팅에서도 유용한 정보를 제공하도록 하겠습니다. 감사합니다!

728x90