Nginx

Как да шифровам Nginx сървър с Let's Encrypt на Ubuntu 20.04

Как да шифровам Nginx сървър с Let's Encrypt на Ubuntu 20.04
Сертифициращ орган, известен като Let's Encrypt, демонстрира лесен метод за получаване и инсталиране на сертификати за криптиране на HTTPS на уеб сървъри. При автоматизиране на необходимите стъпки за този процес се използва софтуерен клиент, наречен Certbot. Инсталирането на сертификати на Nginx и Apache е напълно автоматично. Ще ви покажа как да защитите вашия Nginx сървър с безплатен SSL сертификат на Ubuntu 20.04.

Ще използваме различни конфигурационни файлове на сървъра на 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 $ ПОТРЕБИТЕЛ: $ ПОТРЕБИТЕЛ / var / www / пример.com / html

Стъпка 6:

Сега се уверете, че разрешенията са предоставени, като изпълните следната команда на терминала.

$ sudo chmod -R 755 / var / www / пример.com

Стъпка 7:

Сега създайте индекс.html файл с вашия любим текстов редактор, аз използвам gedit текстов редактор.

$ sudo gedit / var / www / пример.com / html / index.html

Добавете следния текст в този HTML файл.



Добре дошли в примера.com!


Успех! Примерът.com сървърният блок работи!



Запазете и затворете файла.

Стъпка 8:

Сега създайте нов конфигурационен файл, наличната за сайтове директория, като използвате любимия си текстов редактор, като изпълните следната команда.

$ sudo gedit / etc / nginx / sites-available / example.com

Сега добавете следния текст в този конфигурационен файл за новата директория и име на домейн.

сървър
слушайте 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 позволи 'Nginx пълен'

Стъпка 14:

Сега стигаме до точката, в която трябва да инсталираме SSL сертификат, използвайки софтуер certbot. Изпълнете следната команда на терминала.

$ sudo certbot --nginx -d пример.com -d www.пример.com

Ако използвате certbot за първи път, ще бъдете помолени за имейл адрес и подкана за условия и условия, съгласете се да го направите и ще можете да преминете към следващата стъпка.

Стъпка 15:

Сега ще бъдете помолени за конфигуриране на вашите HTTPS настройки, изберете необходимите опции и натиснете бутона Enter, за да продължите. Certbot ще инсталира всички необходими сертификати и ще актуализира Nginx файловете; вашият сървър ще се презареди със съобщение, за да ви уведоми, че процесът ви е успешен.

Стъпка 16:

След като сте инсталирали сертификатите, трябва също така да се уверите, че тези сертификати се подновяват автоматично след определено време. Изпълнете следните две терминални команди, за да осигурите способността на този процес.

$ sudo systemctl статус certbot.таймер

$ sudo certbot подновяване - изсушаване

Заключение:

Досега разгледахме как да изградим отделен сървърен блок в Nginx, да инсталираме сертификати с помощта на софтуерния инструмент Certbot от Let's Encrypt сървъри на сертифициращ орган и как да приложим процес на подновяване за тези сертификати.

Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...
Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...