Глава 5 · 5.2
nginx със сертификат от Let's Encrypt
Познавате ли вече nginx или използвате софтуер, който идва с конфигурация за nginx? Тогава използвайте nginx с certbot. certbot заявява сертификата, променя Вашата конфигурация и подновява сертификата автоматично.
nginx и сайт
anna@web1:~$ sudo apt install nginx
anna@web1:~$ sudo mkdir -p /srv/www/example.com
anna@web1:~$ sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /srv/www/example.com;
index index.html;
}
anna@web1:~$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
anna@web1:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
anna@web1:~$ sudo systemctl reload nginx
Винаги тествайте с nginx -t, преди да презаредите. При грешка в конфигурацията nginx вече не стартира.
Заявяване на сертификата
anna@web1:~$ sudo apt install certbot python3-certbot-nginx
anna@web1:~$ sudo certbot --nginx -d example.com -d www.example.com
Първия път certbot пита за Вашия имейл адрес и дали приемате условията. След това той променя Вашия server блок за https и пренасочва http към https.
Подновяването става автоматично
Сертификатите на Let's Encrypt са валидни за кратко и се подновяват автоматично. Проверете дали това работи:
anna@web1:~$ sudo certbot renew --dry-run
anna@web1:~$ systemctl list-timers | grep certbot
Let's Encrypt вече не изпраща имейли с напомняне, когато даден сертификат изтича. Оставете Uptime Kuma да следи валидността (вижте Uptime Kuma: наблюдение на Вашите сайтове и сървър).
Внимание: Let's Encrypt има ограничения за броя на сертификатите. Ако искате първо да се упражните, добавете --test-cert: тогава ще получите тестов сертификат, на който браузърите не се доверяват, но който не се отчита в ограничението.
