Let's encrypt s automatickým prodloužením

navody 20. čvc 2021

Jelikož jsou čím dál větší restrikce na používání webů bez https, čili bez certifikátu, tak si takový certifikát pro web vystavíme a navíc si nastavíme i automatické prodlužování. Nastavovat tohle budeme na reverse nginx proxy, ale postup bude dost podobný i v případě přímé konfigurace na jednotlivých webech.

Instalace a generování certifikátu

  • Provedeme update apt
    • apt-get update
  • Nainstalujeme certbota, který se nám bude starat o certifikáty
    • apt-get install certbot -y
  • Nainstalujeme balíček co umožní certbotovi další funkce
    • apt-get install python-certbot-nginx -y
  • Vytvoříme si certifikát pro chtěnou stránku (předpoklad je takový, že nginx proxy již obsahuje nějaké weby)
    • certbot --nginx -d domena.cz -d www.domena.cz
    • zadáme email
    • potvrdíme licenční ujednání - Y
    • zamítneme sdílení naší emailové adresy - N
    • zvolíme, jestli chceme http přesměrovat na https (2) nebo ne (1)
  • Po zadání by se mělo zobrazit, že certifikát byl úspěšně vytvořen a kam byl uložen
  • Pokud si otevřeme konfiguraci daného webu v nginx, tak uvidíme, že se nám do konfigurace automaticky doplnili potřebné konfigurace (pokud jsme zadali volbu 2) pro HTTPS s umístěním certifikátů a přesměrováním http na https

Automatické prodloužení certifikátu

Certifikát od let's encrypt má platnost pouze 90 dnů, to znamená, že bychom museli co 90 dnů na server a ručně generovat nový certifikát. Lze si to ale i ulehčit a to tímto jednoduchým způsobem přes cron. Řádek který se bude zadávat v kroku níže znamená, že se každý den o půlnoci spustí příkaz na renew certifikátu, certbot poté certifikát obnoví, pokud jeho platnost bude menší než 30 dnů.

Pokud cron v linuxu nemáme, tak jej doinstalujeme apt-get install cron -y

  • Otevřeme si editaci crontabu
    • crontab -e
    • Začneme editovat pomocí tlačítka i nebo insert
    • Vepíšeme následující řádku 0 12 * * * /usr/bin/certbot renew --quiet
    • Ukončíme editaci pomocí ESC tlačítka
    • Uložíme změny v crontabu pomocí vepsání :wq!
  • Pokud chceme nastavení ověřit, tak zadáme crontab -l

Štítky

Výborně! Nyní jste odběrateli.
Výborně! Dokončete platbu pro plný přístup.
Vítejte zpět! Úspěšně jste se přihlásili.
Úspěch! Váš účet je nyní plně aktivován, nyní máte přístup ke všemu obsahu!