본문 바로가기

백엔드

[ubuntu]nginx let's encrypt로 https적용

happylulurara.tistory.com/146

 

가비아 도메인 적용 EC2 ubuntu

가비아나 다른 사이트를 통해 도메인을 적용하도록 한다. 일단 '가비아'를 검색해서 사이트로 들어갔다. 가비아로 들어가서 원하는 도메인 이름을 넣고, 아래 선택지 중 원하는 것으로 '선택'을

happylulurara.tistory.com

위의 포스팅처럼 되도록 도메인을 만들어놓자.

 

일단 ubuntu를 실행한다.

 

- nginx가 설치 안 된 경우

 

$ sudo apt-get install nginx

 

 

0. Certbot설치

 

$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx

 

 

1. Let's Encrypt 인증서 발급

 

 

$ sudo certbot certonly --nginx -d [도메인 주소]
또는
$ sudo certbot certonly --nginx
-> A, Y, 2

 

만들어 놓은 도메인주소를 입력한다.

ex) sudo certbot certonly --nginx -d aaa.site

 

다 했으면

 

Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/[도메인주소]/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/[도메인주소]/privkey.pem

 

이렇게 나온다.

여기에 인증서가 저장되었음을 알 수 있다.

 

 

2. Nginx SSL 인증서 관련 설정

 

$ sudo vi /etc/nginx/sites-available/default 

 

vi에디터를 통해 위의 파일에 들어갔다면,

 

server {
        listen 443;
        listen [::]:443;
        ssl on; #ssl 활성화
        server_name _;

        ssl_certificate /etc/letsencrypt/live/[도메인주소]/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/[도메인주소]/privkey.pem;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                 try_files $uri $uri/ =404;             
        }
}

[도메인주소]는 해당하는 도메인 주소로 바꿔서 맨 밑에 넣으면 된다.

 

 

$ sudo service nginx restart

 

이제 nginx를 재시작한다.

 

 

3. SSL 자동 갱신

 

 

Let's Encrypt인증서는 90일 동안만 유효하다.

따라서 자동으로 갱신하도록 한다.

 

$ sudo certbot renew --dry-run

 

 

4. ec2 규칙 수정

 

 

인스턴스의 보안규칙 - 인바운드 규칙 - 규칙추가

 

 

443포트에 대한 규칙 추가를 했다면 규칙저장을 누른다.

 

 

5. 도메인 접속해보기

 

잘 접속됨을 알 수 있다.

 

 

반응형