- Let's Encrypt 를 이용하여 무료로 인증서를 만들고 적용하는 방법을 소개합니다.
현재 서버 환경은 Ubuntu 14.04 & NGINX 환경으로 Let's Encrypt 에서 무료로 SSL인증서를 발급할 수 있다고 하여
적용하는 방법 노트
1. Let's Encrypt 설치하기
우선 필요한 것들을 설치한다. 이미 설치되어 있다면 패스!!
이제 git 저장소에서 Let's Encrypt 을 다운로드 하자
$sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
/opt/letsencrypt 는 원하는 디렉토리로 지정해도 무방
2. 인증서 가져오기
이제 다운 받은 프로그램을 이용해 인증서를 가져올 차례 입니다.
인증서를 가져오기전 알아두셔야 할 사항으로 Let's Encrypt 의 인증 방식인 Standalone plugin 은 서버 인증을 위해서 80포트를 이용합니다.
따라서 nginx, apache 와 같이 80 포트를 이용하는 서비스가 있다면 서버를 일시적으로 정지시켜준다.
- Standalone plugin 을 위하여 서버 정지해두기
$sudo service nginx stop
그리고 80포트를 이용하는 서비스가 있는 지 확인해보도록 합니다.
$netstat -na | grep '80.*LISTEN'
위의 명령어로 80 포트가 어떤 서비스에도 이용되지 않는 것을 확인하셨다면 이제 Standalone plugin 을 이용할 준비가 되신 것 입니다.
* 80 포트 443 포트 모두 열려 있어야 합니다. 방화벽을 확인해주시기 바랍니다.
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
location ~ /.well-known {
allow all;
}
기본적으로 443 포트를 이용하도록 만들고 server_name 에 도메인을 셋팅합니다.
그리고 위에서 생성하였던 fullchain.pem 파일과 privkey.pem 파일은 셋팅해주도록 합니다.
참고로 아래는 NginX 에서 80 포트로 들어온 HTTP 주소를 443 HTTPS 로 보내주는 설정입니다.
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
$sudo service nginx restart
이제 브라우저에서 https://도메인 으로 접속해보자 ^^
위의 인증서는 90일로 인증기간이 매우 짧습니다. 90일 이전에 잊지말고 인증서 갱신해야 한다.
'Linux > debian/ubuntu' 카테고리의 다른 글
Let’s Encrypt 무료 SSL 인증서 자동 갱신하기 (1) | 2017.01.19 |
---|---|
우분투에서 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 에러 해결법 (1) | 2016.04.20 |
Debian / Ubuntu 에서 사용자 계정 추가/삭제 (0) | 2013.12.06 |
SVN 서버 설치 (0) | 2011.12.14 |
MySQL 외부접속 허용하기 (0) | 2011.12.14 |
리눅스(데비안)에서 SSH 설치, 설정하기 (0) | 2009.07.26 |
가상 머신 VirutualBox에서 Debian Lenny 에 Guest Additions 설치하기 (0) | 2009.07.09 |
댓글