Ми будемо використовувати різні файли конфігурації сервера Nginx, оскільки це допомагає уникнути типових помилок, а також допомагає підтримувати файли конфігурації за замовчуванням як запасний варіант.
Крок 1:
Як завжди, спочатку оновіть APT.
$ sudo apt оновлення
Крок 2:
Тепер оновіть APT.
$ sudo apt оновлення
Крок 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 / приклад.com / html
Крок 6:
Тепер переконайтеся, що дозволи надано, виконавши наступну команду терміналу.
$ sudo chmod -R 755 / var / www / приклад.ком
Крок 7:
Тепер створіть індекс.html, використовуючи ваш улюблений текстовий редактор, я використовую редактор тексту gedit.
$ sudo gedit / var / www / приклад.com / html / index.html
Додайте наступний текст до цього файлу HTML.
Успіху! Приклад.com серверний блок працює!
Збережіть і закрийте файл.
Крок 8:
Тепер створіть новий файл конфігурації, доступний каталог сайтів, за допомогою улюбленого текстового редактора, виконавши наступну команду.
$ sudo gedit / etc / nginx / sites-available / example.ком
Тепер додайте наступний текст у цей конфігураційний файл для нового каталогу та доменного імені.
серверслухати 80;
слухати [::]: 80;
root / var / www / приклад.com / html;
індексний індекс.індекс html.індекс htm.nginx-debian.html;
приклад ім'я_сервера.com www.приклад.com;
Розташування /
try_files $ uri $ uri / = 404;
Збережіть і закрийте цей файл, щоб він набрав чинності.
Крок 9:
Тепер увімкніть новий каталог для запуску Nginx за допомогою наступної команди терміналу.
$ sudo ln -s / etc / nginx / доступні сайти / приклад.com / etc / nginx / site-enabled /
Крок 10:
Щоб уникнути проблем із хеш-пам'яттю хеш-пам'яті імені сервера, вкажіть одне значення в наступному файлі конфігурації.
$ sudo gedit / etc / nginx / nginx.конфТепер видаліть знак # з опції hash_bucket_size, щоб розкоментувати його. Збережіть закрити файл.
Крок 11:
Тепер введіть наступні дві команди для видалення синтаксичних помилок та перезапуску сервера Nginx.
$ sudo nginx -t$ sudo systemctl перезапустіть nginx
Крок 12:
Тепер вам потрібно перевірити та підтвердити файли конфігурації Nginx. Оскільки certbot повинен знайти правильний блок сервера в конфігурації Nginx, тому він шукає ім'я_сервера, яке відповідає запитуваному домену. Щоб перевірити ці конфігураційні файли, введіть наступну команду терміналу.
$ sudo nginx -t
Крок 13:
Тепер оновіть свої правила брандмауера UFW, щоб дозволити Nginx отримувати повні дозволи. Якщо у вас є будь-які попередні правила, що стосуються сервера HTTP, видаліть їх за допомогою опції UFW deny перед додаванням наступної команди.
sudo ufw allow 'Nginx Full'
Крок 14:
Тепер ми підходимо до точки, де нам потрібно встановити SSL-сертифікат за допомогою програмного забезпечення certbot. Виконайте наступну команду терміналу.
Приклад $ sudo certbot --nginx -d.com -d www.приклад.ком
Якщо ви використовуєте certbot вперше, вас попросять вказати адресу електронної пошти та відповідні терміни та умови, погодьтеся, і ви зможете перейти до наступного кроку.
Крок 15:
Тепер вас попросять налаштувати ваші налаштування HTTPS, виберіть необхідні параметри та натисніть кнопку Enter, щоб продовжити. Certbot встановить усі необхідні сертифікати та оновить файли Nginx; ваш сервер перезавантажиться з повідомленням про те, що ваш процес пройшов успішно.
Крок 16:
Тепер, коли ви встановили сертифікати, вам слід також переконатися, що ці сертифікати автоматично поновлюються через певний час. Виконайте наступні дві команди терміналу, щоб забезпечити можливість цього процесу.
$ sudo systemctl статус certbot.таймер$ sudo certbot update --dry-run
Висновок:
Наразі ми розглянули, як створити окремий серверний блок у Nginx, встановити сертифікати за допомогою програмного засобу Certbot від Let's Encrypt серверів центру сертифікації та як застосувати процес оновлення цих сертифікацій.