웹사이트 검색

Ubuntu 및 Debian에서 무료 Let's Encrypt SSL 인증서로 Apache를 보호하는 방법


새로 등록한 도메인 이름이 있고 웹 서버가 귀하가 발급한 SSL 자체 서명 인증서로 작동하는데, 인증서 생성 오류로 인해 클라이언트가 도메인을 방문하는 동안 두통을 일으키고 있습니까? 예산이 제한되어 있고 신뢰할 수 있는 CA에서 발급한 인증서를 구입할 여유가 없습니까? 이때 Let's Encrypt 소프트웨어가 등장하여 문제를 해결합니다.

RHEL, CentOSApache 또는 NginxLet's Encrypt를 설치하려는 경우 Strong>, Fedora 또는 UbuntuDebian의 경우 아래 가이드를 따르세요.

RHEL 및 CentOS 7/6에서 Apache를 보호하기 위해 Let's Encrypt 설정

Ubuntu 및 Debian에서 Nginx를 보호하기 위해 Let's Encrypt 설정

Let's Encrypt인증 기관(CA)으로, 귀하가 필요한 무료 SSL/TLS 인증서를 쉽게 얻을 수 있도록 도와줍니다. 서버가 안전하게 실행되어 사용자에게 오류 없이 원활한 탐색 환경을 제공합니다.

샘플 환경 테스트

인증서를 생성하는 데 필요한 모든 단계는 대부분 Apache 웹 서버에서 자동화됩니다. 그러나 웹 서버 소프트웨어에도 불구하고 일부 단계는 수동으로 수행해야 하며 인증서는 수동으로 설치해야 합니다. 특히 웹 사이트 콘텐츠가 Nginx 데몬에서 제공되는 경우에는 더욱 그렇습니다.

이 튜토리얼에서는 Ubuntu 또는 DebianLet's Encrypt 소프트웨어를 설치하고 도메인에 대한 무료 인증서를 생성 및 얻는 방법과 방법을 안내합니다. Apache 및 Nginx 웹 서버에 인증서를 수동으로 설치할 수 있습니다.

요구사항

  1. 서버 외부 IP 주소를 다시 가리키는 유효한 A 레코드가 있는 공개 등록 도메인 이름입니다. 서버가 방화벽 뒤에 있는 경우 라우터 측에 포트 전달 규칙을 추가하여 서버가 인터넷에서 워드 전체에 액세스할 수 있도록 필요한 조치를 취하십시오.
  2. 여러 도메인 또는 하위 도메인을 호스팅하는 경우 SSL 모듈이 활성화되고 가상 호스팅이 활성화된 Apache 웹 서버가 설치됩니다.

1단계: Apache 설치 및 SSL 모듈 활성화

1. 시스템에 Apache 웹 서버가 아직 설치되어 있지 않은 경우 다음 명령을 실행하여 Apache 데몬을 설치하십시오.

sudo apt-get install apache2

2. Ubuntu 또는 Debian에서 Apache 웹서버에 대한 SSL 모듈 활성화는 매우 간단합니다. 아래 명령을 실행하여 SSL 모듈을 활성화하고 Apache 기본 SSL 가상 호스트를 활성화하십시오.

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

이제 방문자는 HTTPS 프로토콜을 통해 귀하의 도메인 이름에 액세스할 수 있습니다. 그러나 서버 자체 서명 인증서는 신뢰할 수 있는 인증 기관에서 발급되지 않았기 때문에 아래 이미지에 표시된 대로 브라우저에 오류 경고가 표시됩니다.

https://yourdomain.com

2단계: 무료 Let’s Encrypt 클라이언트 설치

3. 서버에 Let's Encrypt 소프트웨어를 설치하려면 시스템에 git 패키지가 설치되어 있어야 합니다. git 소프트웨어를 설치하려면 다음 명령을 실행하세요.

sudo apt-get -y install git

4. 다음으로 시스템 계층 구조에서 Let's Encrypt git 저장소를 복제하려는 디렉터리를 선택합니다. 이 튜토리얼에서는 Let’s Encrypt의 설치 경로로 /usr/local/ 디렉토리를 사용합니다.

/usr/local 디렉터리로 전환하고 다음 명령을 실행하여 letsencrypt 클라이언트를 설치합니다.

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

4단계: Apache용 SSL 인증서 생성

5. Apache 플러그인 덕분에 Apache용 SSL 인증서를 얻는 과정이 자동화되었습니다. 도메인 이름에 대해 다음 명령을 실행하여 인증서를 생성하십시오. 도메인 이름을 -d 플래그에 대한 매개변수로 제공하세요.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

예를 들어 여러 도메인이나 하위 도메인에서 작동하기 위해 인증서가 필요한 경우 기본 도메인 이름 뒤에 유효한 각 추가 DNS 레코드에 대해 -d 플래그를 사용하여 모두 추가합니다.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. 라이센스에 동의하고 복구용 이메일 주소를 입력한 후 클라이언트가 두 HTTP 프로토콜(보안 및 비보안)을 모두 사용하여 도메인을 탐색할 수 있는지 또는 모든 비보안 요청을 HTTPS로 리디렉션할 수 있는지 선택합니다.

7. 설치 프로세스가 성공적으로 완료되면 아래 스크린샷에 표시된 대로 만료 날짜와 구성을 테스트할 수 있는 방법을 알려주는 축하 메시지가 콘솔에 표시됩니다.

이제 간단한 디렉토리 목록을 사용하여 /etc/letsencrypt/live 디렉토리에서 인증서 파일을 찾을 수 있습니다.

sudo ls /etc/letsencrypt/live

8. 마지막으로 SSL 인증서 상태를 확인하려면 다음 링크를 방문하세요. 이에 따라 도메인 이름을 바꾸십시오.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

또한 방문자는 이제 웹 브라우저에 오류가 표시되지 않고 HTTPS 프로토콜을 사용하여 도메인 이름에 액세스할 수 있습니다.

4단계: 자동 갱신으로 인증서 암호화 가능

9. 기본적으로 Let's Encrypt 기관에서 발급한 인증서는 90일 동안 유효합니다. 만료 날짜 이전에 인증서를 갱신하려면 이전과 동일한 플래그와 매개변수를 사용하여 클라이언트를 수동으로 다시 실행해야 합니다.

sudo ./letsencrypt-auto --apache -d your_domain.tld

또는 하위 도메인이 여러 개인 경우:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Linux 일정 cron 데몬을 사용하면 인증서 갱신 프로세스가 만료일 30일 이내에 실행되도록 자동화할 수 있습니다.

sudo crontab -e

한 줄만 사용하여 crontab 파일 끝에 다음 명령을 추가합니다.

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Let’s Encrypt 소프트웨어의 갱신 도메인 구성 파일에 대한 세부정보는 /etc/letsencrypt/renewal/ 디렉터리에서 확인할 수 있습니다.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

또한 Apache 웹 서버에 대한 새로운 SSL 구성 파일을 보려면 /etc/letsencrypt/options-ssl-apache.conf 파일을 확인해야 합니다.

12. 또한 Let’s encrypt Apache 플러그인은 웹 서버 구성의 일부 파일을 수정합니다. 어떤 파일이 수정되었는지 확인하려면 /etc/apache2/sites-enabled 디렉터리의 내용을 나열하세요.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

지금은 여기까지입니다! 다음 튜토리얼 시리즈에서는 UbuntuDebian<에서 Nginx 웹 서버용 Let's Encrypt 인증서를 얻고 설치하는 방법에 대해 설명합니다.CentOS에서도 마찬가지입니다.