GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Let's Encrypt SSL s Nginx na Ubuntu 16.04 LTS

V tomto tutoriálu vám ukážeme, jak nainstalovat Let's Encrypt SSL s Nginx na Ubuntu 16.04 LTS. Pro ty z vás, kteří 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. Certifikáty LetsEncrypt.org mají bohužel v současné době životnost 3 měsíce. To znamená, že budete muset obnovte svůj certifikát prozatí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 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 Ubuntu 16.04 LTS (Xenial Xerus).

Předpoklady

  • Server s jedním z následujících operačních systémů:Ubuntu 16.04 LTS (Xenial Xerus).
  • 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 Ubuntu 16.04 LTS

Krok 1. Nejprve se ujistěte, že všechny vaše systémové balíčky jsou aktuální spuštěním následujícího apt-get příkazy v terminálu.

sudo apt-get update
sudo apt-get upgrade

Krok 2. Instalace Let’s Encrypt SSL na Ubuntu 16.04.

Prvním krokem je instalace certbota, softwarového klienta, který zautomatizuje téměř vše v procesu:

add-apt-repository ppa:certbot/certbot
apt-get update
apt-get 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:

apt-get install nginx
systemctl start nginx

Prvním krokem k instalaci lets encrypt SSL na Ubuntu Linux je přidání jednoduché konfigurace do konfigurace bloku serveru Nginx. Přidejte tento řádek do konfigurace bloku serveru:

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

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

### nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Restartujte Nginx:

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 svou 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 SSL/TLS na webovém serveru NGINX.

Nejprve upravte soubor bloku serveru, 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 bloku serveru Nginx 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;
           }
    }

Po dokončení soubor uložte a zavřete.

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 Ubuntu 16.04 LTS. Pro další nápovědu nebo užitečné informace vám doporučujeme navštívit oficiální stránku Let's Encrypt webové stránky.


Ubuntu
  1. Jak nainstalovat Nextcloud s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  2. Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

  3. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

  1. Jak nainstalovat Magento 2 s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  2. Jak nainstalovat Seafile s Nginx na Ubuntu 20.04 LTS

  3. Jak nainstalovat Seafile s Nginx na Ubuntu 18.04 LTS

  1. Jak nainstalovat GitBucket s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat osTicket s Nginx na Ubuntu 18.04 LTS

  3. Jak nainstalovat X-Cart s Nginx a nechat šifrovat SSL na Ubuntu 18.04 LTS