Lets Encrypt Digital Ocean 구성

Lets Encrypt Digital Ocean Guseong



방문자를 얻으려면 웹사이트의 도메인에 SSL/TLS 암호화가 있어야 합니다. SSL/TLS 인증서는 웹 서버와 브라우저 간에 강력한 연결을 제공합니다. 이전에는 보안이 주요 관심사가 아니었습니다. 웹사이트가 확립된 HTTP 프로토콜을 통해 데이터를 전달하는 것은 비교적 일반적이었습니다. 하지만 요즘은 신분 도용, 신용카드 사기, 간첩 등 사이버 범죄가 증가하고 있기 때문에 서버와의 통신에 사용되는 채널을 안전하게 보호해야 합니다.

Let's Encrypt라는 인증 기관(CA)은 무료 SSL/TLS 인증서를 제공하여 웹 서버에서 HTTPS 암호화를 가능하게 합니다. 도메인 인증을 받았기 때문에 전용 IP 주소가 필요하지 않습니다. 일반적으로 특히 Google에서 SEO 순위를 향상시키려면 웹사이트에서 SSL 인증서를 활성화하는 것이 좋습니다.







Let's Encrypt의 작동 원리

Let's Encrypt는 인증서를 제공하기 전에 도메인 소유권을 확인합니다. 토큰의 유효성이 검사되면 Let's Encrypt 유효성 검사 서버는 HTTP 요청을 만들어 파일을 가져오고 도메인의 DNS 레코드가 Let's Encrypt 클라이언트를 호스팅하는 서버를 가리키는지 확인합니다.



요구 사항

Let's Encrypt를 사용하기 전에 다음을 수행해야 합니다.



Ubuntu 20.04 튜토리얼의 첫 번째 서버 설정 지침에 따라 Ubuntu 20.04 서버가 설정되면 방화벽과 sudo 액세스 권한이 있는 루트가 아닌 사용자를 완료합니다.





등록된 도메인 이름입니다. 이 기사 전체에서 myfirstproject1.com이 사용됩니다. 도메인을 구입할 수 있습니다.

다음 두 개의 DNS 레코드가 서버에 구성되어 있습니다.



  • 서버의 공용 IP 주소를 가리키는 myfirstproject1.com이 있는 'myproject1' 레코드
  • myfirstproject2.com이 서버의 공개 IP 주소를 가리키는 'myproject2' 레코드.

Nginx가 설치되어 있어야 하며 도메인에 서버 블록이 있는지 확인해야 합니다.

디지털 오션에 Let's Encrypt 설치 단계

디지털 오션에 Let's Encrypt를 설치하는 주요 단계는 다음과 같습니다.

Certbot 설치

Certbot 소프트웨어는 SSL 인증서를 얻기 위해 Let's Encrypt를 활용하기 위한 기본 요구 사항입니다. Certbot 및 해당 Nginx 플러그인을 설치하기 위해 다음 명령을 사용합니다.

대부분의 공유 호스팅 회사와 일부 클라우드 호스팅 회사는 클릭 몇 번으로 SSL/TLS 인증서를 구매, 갱신 및 관리할 수 있는 웹사이트 호스팅 패널에 Certbot 또는 유사한 플러그인을 통합합니다.

반면 'python3-certbot-nginx'는 다음을 수행하는 데 사용되는 패키지입니다.

귀하가 웹사이트를 담당하고 있음을 Let's Encrypt CA에 즉시 입증하십시오.

  • 라이선스를 업그레이드해야 하는 시점과 만료 시점을 기록해 두십시오.
  • 모든 웹 서버에서 브라우저에서 신뢰할 수 있는 인증서를 가져와 설치합니다.
  • 필요한 경우 인증서를 취소할 수 있도록 지원합니다.

이제 Certbot을 사용할 준비가 되었지만 Nginx용 SSL을 자동으로 설정하기 전에 일부 설정을 확인해야 합니다.

Nginx의 구성 확인

Certbot은 SSL을 자동으로 구성할 수 있어야 합니다. Nginx 구성에서 적절한 서버 블록을 찾을 수 있어야 합니다. 보다 정확하게는 인증서를 요청한 도메인에 해당하는 서버 이름 지시문을 검색하여 이를 수행합니다.

'/etc/nginx/sites-available/myfirstproject1.com'에서 사용할 도메인의 서버 블록에 서버 이름 지시문이 이미 올바르게 구성되어 있어야 합니다.

nano 또는 다른 텍스트 편집기에서 도메인 구성 파일을 열어 파일이 있는 경우 열릴 것인지 확인하고 편집기를 닫고 다음 작업으로 이동합니다. 서버 이름은 'server_name domain_name www.domain_name.com ', 아래 스니펫과 같이.

변경되지 않으면 해당합니다. 파일을 저장하고 편집기를 닫은 후 구성 수정 구문을 확인하십시오. 다음 지침을 사용하여 다음을 확인하십시오.

$ 수도 nginx -t

구성 파일의 구문이 올바른지 확인한 후 업데이트된 구성을 로드하려면 Nginx를 다시 로드하십시오.

$ 수도 systemctl nginx 다시 로드

이제 Certbot은 올바른 서버 블록을 자동으로 찾아 업데이트할 수 있습니다. systemctl은 systemd 시스템의 점검 및 관리 및 서비스 관리를 담당합니다. System V init 데몬을 대체하는 역할을 하며 여러 시스템 관리 라이브러리, 도구 및 데몬으로 구성됩니다.

방화벽을 통한 HTTPS 활성화

필수 권장 사항은 UFW 방화벽을 활성화할 것을 권장합니다. HTTPS 트래픽을 허용하려면 설정을 변경해야 합니다.

UFW 상태 옵션을 사용하면 UFW의 가장 최근 상태를 볼 수 있습니다. UFW 상태는 UFW가 활성화된 경우 규정 목록을 표시합니다. 물론 필요한 자격 증명이 있는 경우 루트 사용자로 또는 sudo 접두사로만 명령을 실행할 수 있습니다.

Nginx 전체 프로필을 활성화하고 불필요한 Nginx HTTP 프로필 허용을 제거하여 HTTPS 트래픽도 허용합니다.

이전 스니펫은 Nginx에서 전체 트래픽을 허용하는 방법을 보여주고 두 번째 스니펫은 허용한 다른 트래픽을 삭제하는 방법을 보여줍니다.

SSL 인증서를 얻는 방법

플러그인의 도움으로 Certbot은 SSL 인증서를 얻는 여러 가지 방법을 제공합니다. Nginx의 구성 및 구성의 다시 로드는 필요에 따라 Nginx 플러그인에 의해 처리됩니다.

Certbot을 활용하여 도메인의 SSL 인증서를 즉시 받으십시오. 도메인을 나타내려면 '-d' 인수가 필요합니다. Let's Encrypt에서 www 하위 도메인과 루트에 대해 하나의 인증서를 발급합니다. 방문자가 다른 버전을 볼 경우 한 버전에 대해 하나만 있으면 브라우저에 경고가 표시되므로 두 버전 모두에 대한 인증서를 가져와야 합니다. 신규 사용자의 경우 certbot은 먼저 이메일을 제공하고 서비스 약관에 동의하는지 확인하도록 요청합니다.

성공하면 선택을 하고 Enter 키를 누르라는 메시지가 표시됩니다. 구성을 업데이트한 후 Nginx는 다시 로드하고 새 설정을 고려합니다. 완료되면 certbot에서 절차가 성공적으로 완료되었음을 알려줍니다.

결론

이 가이드에서는 Let's Encrypt 소프트웨어 certbot을 설치 및 활용하고, SSL 인증서를 받고, SSL 인증서에 대한 자동 업데이트를 설정하고, Nginx를 구성하는 방법을 시연했습니다. 또한 Let's Encrypt Digital Ocean을 사용할 때 컴파일 문제가 발생할 수 있는 상황의 몇 가지 예도 제공했습니다.