Nginx. SSL-сертификаты
This commit is contained in:
50
docs/misc/nginx.md
Normal file
50
docs/misc/nginx.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
|
||||||
|
## SSL-сертификат с certbot
|
||||||
|
|
||||||
|
!!! tip "Актуальная версия Python"
|
||||||
|
|
||||||
|
Обычно системый `Python` достаточно старый. Для установки `certbot` может потребоваться более новая версия. Минимальные требования можно узнать на [pypi](https://pypi.org/project/certbot/).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt update
|
||||||
|
sudo add-apt-repository ppa:deadsnakes/ppa
|
||||||
|
|
||||||
|
# Вместо 3.1x нужно указать актуальную версию Python
|
||||||
|
sudo apt install python3.1x python3.1x-venv
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь вместо `python3` можно использовать `python3.1x`.
|
||||||
|
|
||||||
|
SSL-сертификат получается и устанавливается с помощью [certbot](https://github.com/certbot/certbot). На их сайте есть подробная пошаговая [инструкция](https://certbot.eff.org/instructions?ws=nginx&os=pip) о том, как правильно его установить, получить сертификаты и включить их автообновление.
|
||||||
|
|
||||||
|
??? note "Установка вкратце"
|
||||||
|
|
||||||
|
```sh { .code-wrap }
|
||||||
|
# Установили certbot в venv
|
||||||
|
# Вместо 3.1x нужно указать актуальную версию Python
|
||||||
|
sudo python3.x -m venv /opt/certbot/
|
||||||
|
sudo /opt/certbot/bin/pip install --upgrade pip
|
||||||
|
sudo /opt/certbot/bin/pip install certbot certbot-nginx
|
||||||
|
|
||||||
|
# Добавили в PATH
|
||||||
|
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
|
||||||
|
|
||||||
|
# Автообновление сертификатов
|
||||||
|
echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Несколько полезных команд.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Получить сертификат для определённого домена. Предварительно нужно
|
||||||
|
# настроить конфиг nginx для этого домена.
|
||||||
|
sudo certbot --nginx -d example.com -d www.example.com
|
||||||
|
|
||||||
|
# Список сертификатов со сроками их жизни
|
||||||
|
sudo certbot certificates
|
||||||
|
|
||||||
|
# Удалить сертификат (команда предложит выбор)
|
||||||
|
sudo certbot delete
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user