AWS linux2에서 certbot nginx 인증하기

시작하기

https를 사용하기 위해서는 인증을 해야합니다. 여러 인증하는 방법중에 nginx와 certbot을 이용한 인증 방법을 하도록 하겠습니다.

확인하기

1
yum repolist

커맨드를 입력했을시 EPEL (Extra Packages for Enterprise Linux)이 없다면 certbot을 설치할 패키지를 가지고 있는 저장소가 없다는 뜻입니다.

최신 저장소를 추가하기 위해서는 epel-release 패키지가 필요합니다.

1
rpm -qa epel-release

커맨드를 입력했을때 아무것도 나오지 않는다면 설치가 안된 것입니다.
그렇다면 설치를 해야합니다.

설치 준비하기

EPEL7 저장소 패키지 다운로드를 해보겠습니다. 이는 Certbot에 필요한 종속성을 제공하는 데 필요합니다.

ssh로 ec2에 연결합니다. 연결방법을 모르신다면 이전 ssh연결 포스트를 참고해주세요.

1
cd /home/ec2-user

홈 디렉토리로 이동후 EPEL을 설치합니다.

1
sudo wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/

wget은 웹에서 자동적으로 파일을 받아오는데 사용되는 유틸리티입니다. HTTP, HTTPS, FTP 프로토콜을 지원합니다.

옵션
-r, --recursive
재귀적인(recursive) 다운로드를 한다.

-np, --no-parent
주어진 디렉토리의 상부 디렉토리는 다운받지 않는다.

-A acclist, --accept acclist
받거나 파일 확장자를 지정한다

다음으로 패키지를 설치합니다.

1
sudo rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm

다음으로 EPEL을 활성화 합니다.

1
sudo yum-config-manager --enable epel*
1
sudo yum repolist

커맨드를 입력하면 없었던 EPEL이 추가된 것을 확인할 수 있습니다.

EPEL 추가

Certbox 설치 및 실행하기

Certbox을 설치합니다.

1
2
sudo yum install -y certbot
sudo yum install certbot-nginx

설치가 완료되었다면

1
2
sudo service nginx stop
sudo certbot --nginx

certbot nginx를 실행합니다.

아이피 선택
아이피를 선택합니다.

덮어쓸지
그리고 나면 이 기존 인증서를 다시 설치하려고 할지 아니면 덮어쓸지 정합니다.

이 커맨드 실행이 끝나면 자동으로 etc/nginx/nginx.conf 파일을 수정합니다.

이후 nginx 서버를 다시 켜줍니다.

1
sudo service nginx restart

등록한 도메인으로 들어가면 다음과 같이 https로 접속이 되는것을 확인할 수 있습니다.
nginx 웹사이트

최종

Share