Мы будем использовать разные файлы конфигурации сервера Nginx, поскольку это помогает избежать распространенных ошибок, а также помогает поддерживать файлы конфигурации по умолчанию в качестве альтернативного варианта.
Шаг 1:
Как всегда, сначала обновите свой APT.
$ sudo подходящее обновление
Шаг 2:
Теперь обновите свой APT.
$ sudo подходящее обновление
Шаг 3:
Теперь загрузите и установите программный инструмент Certbot, который поможет вам получить сертификат SSL от Let's Encrypt. Выполните следующую команду терминала для установки Certbot через APT.
$ sudo apt установить certbot python3-certbot-nginx
Это установит certbot, но вам все равно нужно будет настроить файл конфигурации Ngnix для установки сертификата SSL.
Шаг 4:
Вы должны настроить серверный блок, прежде чем переходить к следующему шагу, и это необходимый шаг, если вы размещаете несколько сайтов. Мы создадим новый каталог по пути «/ var / www» и оставим каталог по умолчанию без изменений. Выполните следующую команду для создания нового каталога.
$ sudo mkdir -p / var / www / пример.com / html
Шаг 5:
Теперь предоставьте права собственности на этот каталог с помощью следующей команды терминала.
$ sudo chown -R $ USER: $ USER / var / www / example.com / html
Шаг 6:
Теперь убедитесь, что разрешения предоставлены, выполнив следующую команду терминала.
$ sudo chmod -R 755 / var / www / example.ком
Шаг 7:
Теперь создайте индекс.html с помощью вашего любимого текстового редактора, я использую текстовый редактор gedit.
$ sudo gedit / var / www / example.com / html / index.html
Добавьте следующий текст в этот HTML-файл.
Успех! Пример.com серверный блок работает!
Сохраните и закройте файл.
Шаг 8:
Теперь создайте новый файл конфигурации в каталоге sites-available с помощью вашего любимого текстового редактора, выполнив следующую команду.
$ sudo gedit / etc / nginx / сайты-доступные / пример.ком
Теперь добавьте следующий текст в этот файл конфигурации для нового каталога и имени домена.
serverслушать 80;
слушать [::]: 80;
корень / var / www / example.com / html;
индекс индекс.html-индекс.индекс htm.nginx-debian.html;
пример server_name.com www.пример.com;
место расположения /
try_files $ uri $ uri / = 404;
Сохраните и закройте этот файл, чтобы изменения вступили в силу.
Шаг 9:
Теперь включите новый каталог для запуска Nginx с помощью следующей команды терминала.
$ sudo ln -s / etc / nginx / сайты доступны / пример.com / etc / nginx / с поддержкой сайта /
Шаг 10:
Чтобы избежать проблем с памятью хэш-памяти имени сервера, укажите одно значение в следующем файле конфигурации.
$ sudo gedit / etc / nginx / nginx.confТеперь удалите знак # из параметра hash_bucket_size, чтобы раскомментировать его. Сохраните и закройте файл.
Шаг 11:
Теперь введите следующие две команды для удаления синтаксических ошибок и перезапуска сервера Nginx.
$ sudo nginx -t$ sudo systemctl перезапустить nginx
Шаг 12:
Теперь вам нужно проверить и подтвердить файлы конфигурации Nginx. Поскольку certbot должен найти правильный серверный блок в конфигурации Nginx, он ищет имя_сервера, совпадающее с запрошенным доменом. Чтобы проверить эти файлы конфигурации, введите следующую команду терминала.
$ sudo nginx -t
Шаг 13:
Теперь обновите правила брандмауэра UFW, чтобы разрешить Nginx полные разрешения. Если у вас есть какие-либо предыдущие правила, относящиеся к HTTP-серверу, удалите их с помощью опции запрета UFW перед добавлением следующей команды.
sudo ufw разрешить 'Nginx Full'
Шаг 14:
Теперь мы подошли к моменту, когда нам нужно установить сертификат SSL с помощью программного обеспечения certbot. Выполните следующую команду терминала.
$ sudo certbot --nginx -d пример.com -d www.пример.ком
Если вы используете certbot впервые, вам будет предложено ввести адрес электронной почты и условия использования, согласитесь сделать это, и вы сможете перейти к следующему шагу.
Шаг 15:
Теперь вам будет предложено настроить параметры HTTPS, выберите необходимые параметры и нажмите кнопку Enter, чтобы продолжить. Certbot установит все необходимые сертификаты и обновит файлы Nginx; ваш сервер перезагрузится с сообщением, что ваш процесс успешен.
Шаг 16:
Теперь, когда вы установили сертификаты, вы также должны убедиться, что эти сертификаты автоматически обновляются через определенное время. Выполните следующие две команды терминала, чтобы убедиться в возможности этого процесса.
$ sudo systemctl status certbot.таймер$ sudo certbot обновить --dry-run
Заключение:
До сих пор мы рассмотрели, как создать отдельный серверный блок в Nginx, установить сертификаты с помощью программного инструмента Certbot с серверов центра сертификации Let's Encrypt и как применить процесс обновления для этих сертификатов.