본문 바로가기

서버

aws ec2) 로드밸런서 말고 nginx로 ssl 적용시키기 (ubuntu)

728x90

사전필요

- 도메인 구매

- nginx 설치

- ec2 인스턴스 생성

 


1. certbot, letsencrypt 패키지 받기

sudo apt install certbot
sudo apt-get install letsencrypt

 

2. 키 발급 받기

sudo letsencrypt certonly --standalone -d 도메인명

 

3. 설치한 인증서 위치 확인하기 *** default.conf 설정할 때 확인

sudo certbot certificates

 

4. /etc/nginx/conf.d 디렉토리로 이동 후 설정파일 수정하기

cd /etc/nginx/sites-enabled
vi default.conf

 

5. default.conf 파일 열어서 443 ssl 적용하기 

vi default.conf
server {
    listen 443 ssl;
    ## server_name 뒤에 세미콜론 잊으면 안됨
    server_name ##도메인주소(.com 혹은.kr 까지 모두 씀)

    location / {
        root 인덱스파일있는디렉토리경로;
        index index.html index.htm;
    }

    
    ssl_certificate /etc/letsencrypt/live/#도메인주소(.com 혹은.kr 까지 모두 씀)/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/#도메인주소(.com 혹은.kr 까지 모두 씀)/privkey.pem;
#    include /etc/letsencrypt/options-ssl-nginx.conf;
#    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

# http로 들어온 요청은 https로 리다이렉트 되도록 설정한다.
server {
    listen 80;
    location / {
        return 301 #도메인주소(.com 혹은.kr 까지 모두 씀)$request_uri;
        #ex) return 301 https://$host$request_uri;
    }
}

 

6. nginx 재시작하기

sudo service nginx restart