GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Let's Encrypt SSL s Nginx na CentOS 7

V tomto tutoriálu vám ukážeme, jak nainstalovat Let's Encrypt SSL s Nginx na CentOS 7. Pro ty z vás, kteří to nevěděli, LetsEncrypt je bezplatná otevřená certifikační autorita (CA) která poskytuje bezplatné certifikáty pro webové stránky a další služby. Služba je podporována nadací Electronic Frontier Foundation, Mozilla, Cisco Systems a Akamai. Bohužel certifikáty LetsEncrypt.org mají v současné době životnost 3 měsíce. To znamená, že je budete muset obnovit váš certifikát zatím čtvrtletně.

Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na svém vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo ‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci Let’s Encrypt SSL with Nginx na serveru CentOS 7.

Předpoklady

  • Server s jedním z následujících operačních systémů:CentOS 7.
  • Abyste předešli případným problémům, doporučujeme použít novou instalaci operačního systému.
  • Přístup SSH k serveru (nebo stačí otevřít Terminál, pokud jste na počítači).
  • non-root sudo user nebo přístup k root user . Doporučujeme jednat jako non-root sudo user , protože však můžete poškodit svůj systém, pokud nebudete při jednání jako root opatrní.

Nainstalujte Let's Encrypt SSL pomocí Nginx na CentOS 7

Krok 1. Nejprve se ujistěte, že je váš systém aktuální.

yum clean all
yum -y update

Krok 2. Instalace Let’s Encrypt SSL na CentOS 7.

V CentOS 7 najdete Certbota v úložišti EPEL; pokud jej povolíte, stačí nainstalovat, co potřebujete:

yum install epel-release
yum install certbot

Budete také muset mít nainstalovaný a spuštěný Nginx. Samozřejmě, pokud přidáváte certifikáty na dříve nakonfigurovaný webový hostitel, bude již nainstalován:

yum install nginx
systemctl start nginx

Prvním krokem k instalaci lets encrypt SSL na CentOS Linux je přidání jednoduché konfigurace do konfigurace virtuálního hostitele Nginx. Přidejte tento řádek do konfigurace vhost:

location ~ /.well-known {
  allow all;
  }

Uložte a ukončete pro použití změn:

nginx -t
systemctl restart nginx

Získání certifikátu pomocí Certbot:

Spusťte příkaz, jak vidíte níže, nahraďte „idroot.us“ svým skutečným názvem domény a /var/www/idroot.us s vaší skutečnou cestou webroot:

certbot certonly -a webroot --webroot-path=/var/www/idroot.us -d idroot.us -d www.idroot.us

Výsledek:

[[email protected]:~]certbot certonly -a webroot --webroot-path=/var/www/idroot.us -d idroot.us -d www.idroot.us
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for idroot.us
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/idroot.us/fullchain.pem. Your cert
   will expire on 2017-07-16. 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:                    https://eff.org/donate-le
[[email protected]:~]

Krok 3. Nakonfigurujte Let's Encrypt TLS/SSL na webovém serveru Nginx.

Nejprve upravte soubor virtuálního hostitele, který jste zadali během konfigurace pomocí Certbota, a přidejte tyto tři direktivy:

listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/idroot.us/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/idroot.us/privkey.pem;

Úplná konfigurace Nginx vhost může vypadat takto:

server {
     listen 80;
     server_name idroot.us www.idroot.us;
     rewrite ^(.*) https://idroot.us$1 permanent;
}

server {
     access_log off;
     log_not_found off;
     error_log  logs/idroot.us-error_log warn;

    server_name  idroot.us; 
    root   /var/www/idroot.us;
    index  index.php index.html index.htm;

    listen 443 ssl http2;
    ssl_certificate /etc/letsencrypt/live/idroot.us/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/idroot.us/privkey.pem;

  ## Stuff required by certbot
     location ~ /.well-known {
     allow all;
     }

  ## SSL
   ssl_session_cache shared:SSL:20m;
   ssl_session_timeout 10m;

   ssl_prefer_server_ciphers On;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

   ssl_stapling on;
   ssl_stapling_verify on;
   resolver 8.8.8.8 8.8.4.4 valid=300s;
   resolver_timeout 10s;

   access_log /var/www/idroot.us/logs/access.log;
   error_log /var/www/idroot.us/logs/error.log;

   # php-script handler
   location ~ \.php$ {
      fastcgi_index index.php;
      fastcgi_pass 127.0.0.1:9000;       fastcgi_read_timeout 150;
      root    /var/www/idroid.us/public_html;
      fastcgi_param SCRIPT_FILENAME /var/www/idroot.us$fastcgi_script_name;
      include /etc/nginx/fastcgi_params;
   }
 location  ~ /\.ht {
               deny  all;
           }
    }

Krok 5. Nastavte automatickou obnovu Let's Encrypt SSL.

Každý týden přidáme cronjob pro spuštění příkazu pro obnovení, spusťte tento příkaz:

export VISUAL=nano; crontab -e

Vložte následující řádky:

01 1 * * 0 /usr/bin/certbot renew >> /var/log/ssl-renew.log 
06 1 * * 0 /usr/bin/systemctl nginx reload

Uložit a opustit tabulku crontab.

Tímto se vytvoří nová úloha cron, která se bude provádět každou neděli v 01:00, a poté se znovu načte webový server Nginx, aby se změny uplatnily. Výstup bude přihlášeni do /var/log/ssl-renew.log soubor pro další analýzu v případě potřeby.

Blahopřejeme! Úspěšně jste nainstalovali Let's Encrypt. Děkujeme, že jste použili tento návod k instalaci Let's Encrypt SSL v systému CentOS 7. Pro další pomoc nebo užitečné informace vám doporučujeme navštívit oficiální web Let's Encrypt .


Cent OS
  1. Jak nainstalovat phpMyAdmin s Nginx na CentOS 7

  2. Jak nainstalovat Let’s Encrypt with Apache na CentOS 7

  3. Jak nainstalovat Let’s Encrypt na CentOS 8 s Nginx

  1. Jak nainstalovat SuiteCRM s Nginx na CentOS 7

  2. Jak nainstalovat MediaWiki s Nginx na CentOS 7

  3. Jak nainstalovat WonderCMS s Nginx a nechat šifrovat SSL na CentOS 7

  1. Jak nainstalovat WordPress s Nginx a nechat šifrovat SSL na CentOS 8

  2. Jak nainstalovat DokuWiki s Nginx a šifrovat SSL na CentOS 8

  3. Jak nainstalovat Shopware 6 s NGINX a Lets Encrypt na CentOS 8