The Black Eyed Peas - The Time (Dirty Bit) (Official Music Video)
차례:
Let 's Encrypt는 무료 SSL 인증서를 제공하는 ISRG (Internet Security Research Group)에서 개발 한 무료의 자동화 된 공개 인증 기관입니다.
Let 's Encrypt에서 발급 한 인증서는 모든 주요 브라우저에서 신뢰하며 발급일로부터 90 일 동안 유효합니다.
이 튜토리얼에서는 Nginx를 웹 서버로 실행하는 버스터 인 Debian 10에 무료 Let 's Encrypt SSL 인증서를 설치하는 방법을 보여줍니다. SSL 인증서를 사용하고 HTTP / 2를 활성화하도록 Nginx를 구성하는 방법도 보여줍니다.
전제 조건
안내서를 진행하기 전에 다음 전제 조건이 충족되는지 확인하십시오.
- sudo 권한을 가진 루트 또는 사용자로 로그인했습니다. SSL 인증서를 얻으려는 도메인은 공용 서버 IP를 가리켜 야합니다.
example.com
.Nginx를 설치합니다.
Certbot 설치
certbot 도구를 사용하여 인증서를 획득하고 갱신합니다.
Certbot은 SSL 인증서를 획득 및 갱신하고 인증서를 사용하도록 웹 서버를 구성하는 작업을 자동화하는 모든 기능을 갖춘 사용하기 쉬운 도구입니다.
certbot 패키지는 기본 데비안 리포지토리에 포함되어 있습니다. certbot을 설치하려면 다음 명령을 실행하십시오.
sudo apt update
sudo apt install certbot
Dh (Diffie-Hellman) 그룹 생성
Diffie-Hellman 키 교환 (DH)은 보안되지 않은 통신 채널을 통해 암호화 키를 안전하게 교환하는 방법입니다.
보안을 강화하기 위해 새로운 2048 비트 DH 매개 변수 세트를 생성 할 것입니다.
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
크기를 최대 4096 비트로 변경할 수도 있지만 시스템 엔트로피에 따라 생성 시간이 30 분 이상 걸릴 수 있습니다.
Let 's Encrypt SSL 인증서 얻기
도메인의 SSL 인증서를 얻기 위해 Webroot 플러그인을 사용할 것입니다.
${webroot-path}/.well-known/acme-challenge
디렉토리에서 요청 된 도메인의 유효성을 검증하기위한 임시 파일을 작성하여 작동합니다. Let 's Encrypt 서버는 요청 된 도메인이 certbot이 실행되는 서버로 확인되는지 확인하기 위해 임시 파일에 HTTP 요청을 보냅니다.
.well-known/acme-challenge
에 대한 모든 HTTP 요청을
/var/lib/letsencrypt
단일 디렉토리에
/var/lib/letsencrypt
합니다.
다음 명령을 실행하여 디렉토리를 생성하고 Nginx 서버에 쓰기 가능하게 만드십시오:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
코드 중복을 피하기 위해 모든 Nginx 서버 블록 파일에 포함될 두 개의 스 니펫을 만듭니다.
텍스트 편집기를 열고 첫 번째 코드 조각 인
letsencrypt.conf
.
sudo nano /etc/nginx/snippets/letsencrypt.conf
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
두 번째 스 니펫
ssl.conf
에는 Mozilla에서 권장하는
ssl.conf
포함되어 있으며 OCSP Stapling, HSTS (HTTP Strict Transport Security)를 활성화하고 보안 중심 HTTP 헤더를 거의 적용하지 않습니다.
sudo nano /etc/nginx/snippets/ssl.conf
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=63072000" always; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
완료되면 도메인 서버 차단 파일을 열고 아래와 같이
letsencrypt.conf
스 니펫을 포함하십시오.
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
도메인 서버 블록을 활성화하려면
sites-enabled
디렉토리에 대한 심볼릭 링크를 만듭니다.
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
변경 사항을 적용하려면 Nginx 서비스를 다시 시작하십시오.
sudo systemctl restart nginx
이제 다음 명령을 실행하여 SSL 인증서 파일을 얻을 준비가되었습니다.
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
SSL 인증서가 성공적으로 획득되면 터미널에 다음 메시지가 인쇄됩니다.
IMPORTANT NOTES: IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2020-02-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
도메인 서버 블록을 편집하고 다음과 같이 SSL 인증서 파일을 포함하십시오.
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
위의 구성은 Nginx에게 HTTP에서 HTTPS로, www에서 www가 아닌 버전으로 리디렉션하도록 지시합니다.
변경 사항을 적용하려면 Nginx 서비스를 다시 시작하거나 다시로드하십시오.
sudo systemctl restart nginx
https://
사용하여 웹 사이트를 열면 녹색 자물쇠 아이콘이 나타납니다.
자동 갱신 SSL 인증서 암호화
암호화하자 인증서는 90 일 동안 유효합니다. 인증서가 만료되기 전에 자동으로 갱신하기 위해 certbot 패키지는 하루에 두 번 실행되는 cronjob을 생성하고 만료 30 일 전에 인증서를 자동으로 갱신합니다.
갱신시 서버가 인증서를로드하려면 nginx 서비스를 다시로드해야합니다. 다음과 같이
--renew-hook "systemctl reload nginx"
를
/etc/cron.d/certbot
파일에 추가하십시오.
sudo nano /etc/cron.d/certbot
/etc/cron.d/certbot
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
다음 명령을 실행하여 자동 갱신 프로세스를 테스트하십시오.
sudo certbot renew --dry-run
오류가 없으면 갱신 프로세스가 완료되었음을 의미합니다.
결론
오늘날 SSL 인증서를 보유해야합니다. 웹 사이트를 보호하고 SERP 순위를 높이며 웹 서버에서 HTTP / 2를 활성화 할 수 있습니다.
이 학습서에서는 certbot 스크립트를 사용하여 SSL 인증서를 생성하고 갱신하는 방법을 보여주었습니다. 또한 인증서를 사용하도록 Nginx를 구성하는 방법을 보여주었습니다.
Certbot에 대한 자세한 내용은 Certbot 설명서를 참조하십시오.
nginx 데비안 certbot ssl을 암호화하자데비안 9에서 암호화하자.

이 튜토리얼에서는 Certbot 도구를 사용하여 Debian 9에서 Nginx에 대한 무료 SSL 인증서를 얻는 방법에 대해 설명합니다. 또한 SSL 인증서를 사용하고 HTTP / 2를 활성화하도록 Nginx를 구성하는 방법도 보여줍니다.
우분투 18.04에서 암호화하자 보안 nginx

Let 's Encrypt는 Internet Security Research Group에서 개발 한 무료 공개 인증 기관입니다. 이 튜토리얼에서는 Ubuntu 18.04의 certbot 도구를 사용하여 Let 's Encrypt로 Nginx를 보호하는 방법에 대한 단계별 지침을 제공합니다.
데비안 9에서 암호화하자

이 튜토리얼은 데비안 9의 certbot 도구를 사용하여 무료 Let 's Encrypt를 얻는 과정을 안내합니다. 또한 새 SSL 인증서를 사용하고 HTTP / 2를 활성화하도록 Apache를 구성하는 방법을 보여줍니다.