Если вы хотите настроить NGINX с помощью Let's Encrypt, вы можете сделать это автоматически с помощью приложения certbot.
Чтобы установить certbot для nginx:
на Ubuntu / Debian:
sudo apt install python-certbot-nginx
на Arch linux:
sudo pacman -S certbot-nginx
на Centos:
sudo yum install epel-release
sudo yum install certbot-nginx
Затем нужно сделать очень простой файл конфигурации для вашего домена. Каталог должен быть одинаковым для всех упомянутых операционных систем
/etc/nginx/sites-available/example.com
Здесь вы просто добавляете эту информацию:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
location / {
proxy_pass http://127.0.0.1:5000 #Example
}
}
Затем создайте символическую ссылку для активации домена
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Не забудьте заменить example.com своим доменом и переключить proxy_pass на вашу службу или каталог размещенных файлов.
Теперь вам следует перезапустить NGINX:
sudo nginx -t
Это вернет ошибку, если у вас есть ошибки в вашей конфигурации.
Если все в порядке, перезапустите NGINX
sudo systemctl restart nginx.service
Теперь на картинке появляется certbot :
sudo certbot --nginx -d example.com -d www.example.com
На этом этапе Let's encrypt попытается подключиться к вашему nginx серверу, и если все в порядке - это означает:
- Настройки брандмауэра разрешают порт 80 и 443 для передачи
- Переадресация портов через сеть для 2 портов разрешена
Затем вы можете выбрать простой или безопасный доступ. Я рекомендую вариант secure .
Когда вы нажмете [ввод], процесс будет завершен, и certbot сгенерирует все ваши файлы сертификации и добавит их по правильному пути.
Ваш файл конфигурации в /etc/nginx/sites-avalible/example.com
будет обновлен со всеми правильными настройками.
Возможно, вам потребуется перезапустить nginx еще раз.
Надеюсь, это было полезно . Удачи
[Источники]
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-centos-7
https://wiki.archlinux.org/index.php/Certbot#Nginx