
Ubuntu 20.04에서 Let's Encrypt를 사용하여 Nginx 서버를 암호화하는 방법
2022-06-03 last update
6 minutes reading NginxLet's Encrypt라는 인증서 발급 기관은 웹 서버에서 HTTPS를 암호화하는 간단한 방법을 보여 줍니다.Certbot이라고 하는 소프트웨어 클라이언트는 이 프로세스를 자동화하는 데 필요한 절차를 사용합니다.Nginx와 Apache에 인증서를 설치하는 것은 완전히 자동입니다.Ubuntu 20.04에서 무료 SSL 인증서를 사용하여 Nginx 서버를 보호하는 방법을 보여 드리겠습니다.
Nginx 서버 프로필은 일반적인 오류를 방지하는 데 도움이 되고, 기본 프로필을 리셋 옵션으로 유지하는 데 도움이 되기 때문에 서로 다른 Nginx 서버 프로필을 사용할 것입니다.
이전과 같이 먼저 APT를 업데이트합니다.
이제 APT를 업그레이드합니다.
이제 Certbot 소프트웨어 도구를 다운로드하고 설치하면 Let's Encrypt에서 SSL 인증서를 받을 수 있습니다.다음 터미널 명령을 실행하여 APT를 통해 Certbot을 설치합니다.
이것은certbot을 설치하지만, SSL 인증서에 Ngnix 프로필을 설치해야 합니다.
다음 단계를 진행하기 전에 서버 블록을 설정해야 합니다. 만약 여러 사이트를 위탁 관리한다면 이것은 필요한 절차입니다."/var/www"경로에 새 디렉터리를 만들고 기본 디렉터리가 닿지 않도록 합니다.다음 명령을 실행하여 새 디렉터리를 만듭니다.
이제 다음 터미널 명령을 통해 이 디렉터리에 대한 소유권 권한을 제공합니다.
현재, 아래terminal 명령을 실행하여 권한을 부여할 수 있습니다.
색인을 만듭니다.html 파일은 당신이 가장 좋아하는 텍스트 편집기를 사용합니다. 저는gedit 텍스트 편집기를 사용합니다.
이 HTML 파일에 다음 텍스트를 추가합니다.
파일을 저장하고 닫습니다.
현재 다음 명령을 실행하여 좋아하는 텍스트 편집기를 사용하여 새 프로필, 즉sitesavailable 디렉터리를 만듭니다.
현재 이 프로필에 새 디렉터리와 도메인 이름에 다음 텍스트를 추가합니다.
이 파일을 저장하고 닫으면 적용됩니다.
이제 다음 터미널 명령을 사용하여 Nginx에 새 디렉토리를 시작합니다.
서버 이름 해시통 메모리 문제를 피하기 위해 다음 프로필에 값을 입력하십시오.
이제 다음 두 명령을 입력하여 구문 오류를 제거하고 Nginx 서버를 다시 시작합니다.
이제 Nginx 구성 파일을 확인하고 확인해야 합니다.certbot은 Nginx 설정에서 정확한 서버 블록을 찾아야 하기 때문에 요청한 도메인과 일치하는 서버\u 이름을 찾습니다.이 프로필을 확인하려면 다음terminal 명령을 입력하십시오.
이제 UFW 방화벽 규칙을 업데이트하여 Nginx가 완전한 권한을 가질 수 있도록 합니다.이전에 HTTP 서버와 관련된 규칙이 있으면 다음 명령을 추가하기 전에 UFW deny 옵션을 사용하여 삭제합니다.
현재,certbot 소프트웨어를 사용하여 SSL 인증서를 설치해야 합니다.다음 터미널 명령을 실행합니다.
만약certbot을 처음 사용한다면, 시스템은 전자 우편 주소와 조항, 조건 제시를 요구할 것이며, 이렇게 하는 것에 동의할 것입니다. 다음 단계로 넘어갈 수 있습니다.
이제 HTTPS 설정을 구성하고 필요한 옵션을 선택한 다음 Enter 버튼을 클릭하여 계속하라는 메시지가 표시됩니다.Certbot은 필요한 모든 인증서를 설치하고 Nginx 파일을 업데이트합니다.서버에서 프로세스가 성공했다는 메시지를 다시 불러옵니다.
현재 인증서를 설치했습니다. 인증서가 특정 시간 후에 자동으로 갱신되는지 확인해야 합니다.이 프로세스의 능력을 확보하기 위해 다음 두 개의 터미널 명령을 실행합니다.
지금까지 우리는 Nginx에서 단독 서버 블록을 구축하는 방법, Let's Encryptcertificate authority 서버에서 인증서를 설치하는 방법, 그리고 인증서를 갱신하는 과정을 소개했다.


Nginx 서버 프로필은 일반적인 오류를 방지하는 데 도움이 되고, 기본 프로필을 리셋 옵션으로 유지하는 데 도움이 되기 때문에 서로 다른 Nginx 서버 프로필을 사용할 것입니다.
1단계:
이전과 같이 먼저 APT를 업데이트합니다.
$ sudo apt update

2단계:
이제 APT를 업그레이드합니다.
$ sudo apt upgrade

3단계:
이제 Certbot 소프트웨어 도구를 다운로드하고 설치하면 Let's Encrypt에서 SSL 인증서를 받을 수 있습니다.다음 터미널 명령을 실행하여 APT를 통해 Certbot을 설치합니다.
$ sudo apt install certbot python3-certbot-nginx

이것은certbot을 설치하지만, SSL 인증서에 Ngnix 프로필을 설치해야 합니다.
4단계:
다음 단계를 진행하기 전에 서버 블록을 설정해야 합니다. 만약 여러 사이트를 위탁 관리한다면 이것은 필요한 절차입니다."/var/www"경로에 새 디렉터리를 만들고 기본 디렉터리가 닿지 않도록 합니다.다음 명령을 실행하여 새 디렉터리를 만듭니다.
$ sudo mkdir -p /var/www/example.com/html

단계 5:
이제 다음 터미널 명령을 통해 이 디렉터리에 대한 소유권 권한을 제공합니다.
$ sudo chown -R $USER:$USER /var/www/example.com/html

단계 6:
현재, 아래terminal 명령을 실행하여 권한을 부여할 수 있습니다.
$ sudo chmod -R 755 /var/www/example.com

7단계:
색인을 만듭니다.html 파일은 당신이 가장 좋아하는 텍스트 편집기를 사용합니다. 저는gedit 텍스트 편집기를 사용합니다.
$ sudo gedit /var/www/example.com/html/index.html

이 HTML 파일에 다음 텍스트를 추가합니다.
Welcome to example.com!
성공예제com 서버 블록이 작업 중입니다!

파일을 저장하고 닫습니다.
단계 8:
현재 다음 명령을 실행하여 좋아하는 텍스트 편집기를 사용하여 새 프로필, 즉sitesavailable 디렉터리를 만듭니다.
$ sudo gedit /etc/nginx/sites-available/example.com

현재 이 프로필에 새 디렉터리와 도메인 이름에 다음 텍스트를 추가합니다.
server {
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}

이 파일을 저장하고 닫으면 적용됩니다.
단계 9:
이제 다음 터미널 명령을 사용하여 Nginx에 새 디렉토리를 시작합니다.
$ sudo ln -s /etc/nginx/sites available/example.com /etc/nginx/site-enabled/

단계 10:
서버 이름 해시통 메모리 문제를 피하기 위해 다음 프로필에 값을 입력하십시오.
$ sudo gedit /etc/nginx/nginx.conf
주석을 취소하려면 #sign from hash\u bucket\u size 옵션을 삭제합니다.파일을 저장하고 닫습니다.
11단계:
이제 다음 두 명령을 입력하여 구문 오류를 제거하고 Nginx 서버를 다시 시작합니다.
$ sudo nginx -t

$ sudo systemctl restart nginx

12단계:
이제 Nginx 구성 파일을 확인하고 확인해야 합니다.certbot은 Nginx 설정에서 정확한 서버 블록을 찾아야 하기 때문에 요청한 도메인과 일치하는 서버\u 이름을 찾습니다.이 프로필을 확인하려면 다음terminal 명령을 입력하십시오.
$ sudo nginx -t

13단계:
이제 UFW 방화벽 규칙을 업데이트하여 Nginx가 완전한 권한을 가질 수 있도록 합니다.이전에 HTTP 서버와 관련된 규칙이 있으면 다음 명령을 추가하기 전에 UFW deny 옵션을 사용하여 삭제합니다.
sudo ufw allow ‘Nginx Full’

14단계:
현재,certbot 소프트웨어를 사용하여 SSL 인증서를 설치해야 합니다.다음 터미널 명령을 실행합니다.
$ sudo certbot --nginx -d example.com -d www.example.com

만약certbot을 처음 사용한다면, 시스템은 전자 우편 주소와 조항, 조건 제시를 요구할 것이며, 이렇게 하는 것에 동의할 것입니다. 다음 단계로 넘어갈 수 있습니다.
단계 15:
이제 HTTPS 설정을 구성하고 필요한 옵션을 선택한 다음 Enter 버튼을 클릭하여 계속하라는 메시지가 표시됩니다.Certbot은 필요한 모든 인증서를 설치하고 Nginx 파일을 업데이트합니다.서버에서 프로세스가 성공했다는 메시지를 다시 불러옵니다.

단계 16:
현재 인증서를 설치했습니다. 인증서가 특정 시간 후에 자동으로 갱신되는지 확인해야 합니다.이 프로세스의 능력을 확보하기 위해 다음 두 개의 터미널 명령을 실행합니다.
$ sudo systemctl status certbot.timer

$ sudo certbot renew --dry-run

결론:
지금까지 우리는 Nginx에서 단독 서버 블록을 구축하는 방법, Let's Encryptcertificate authority 서버에서 인증서를 설치하는 방법, 그리고 인증서를 갱신하는 과정을 소개했다.