본문 바로가기
개발(라이브러리,프레임워크)/CI CD

[NGINX] EC2서버에 HTTPS 설정

by zieunee 2021. 9. 25.
반응형

이거 우리서버는 apt-add ....xxx 이게 안된다. yum으로 사용해야한다.

YUM epel 저장소 추가

yum install epel-release

certbot 설치

yum install certbot

일반 서버일 경우 443 포트 방화벽 오픈 (우리는 사용 x)

아래 방식처럼하지만 우리는 AWS에서 인바운드 설정을 통해 443포트를 열어줄 수있다.

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

//not found 가 뜨면 설치 
yum install firewalld

systemctl unmask firewalld
systemctl enable firewalld
systemctl start firewalld

nginx stop

–standalone 옵션으로 인증서 생성시 오류가 나기 때문에 잠깐 nginx 를 끔

service nginx stop

인증서 생성

certbot certonly --standalone -d gg.bookclub.p-e.kr # gg.bookclub~~ 이건 내 도메인

이메일 입력하라 그라고 이것저것 몇 번 묻는데 다 y 로 하면 된다.

작업이 성공적으로 끝나면 인증서는 /etc/letsencrypt/live/gg.bookclub.p-e.kr이 생성된다.

도메인이 없으면 저 설정이 안된다.

무료사이트 찾아서 추가해줌 (실제는 돈주고 사야하지만...)

https://xn--220b31d95hq8o.xn--3e0b707e/

nginx 설정

#http 로 접속할 경우 https 로 리다이렉트
server {
    listen       80;
    server_name  gg.bookclub.p-e.kr;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name gg.bookclub.p-e.kr;

    ssl_certificate /etc/letsencrypt/live/gg.bookclub.p-e.kr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/gg.bookclub.p-e.kr/privkey.pem;

    location / {
        ...#원래 80일때 해놓았던 모든 설정 옮기기
    }
}

nginx start

service nginx start
반응형