Инсталиране на безплатен SSL сертификат на LEMP стека с Let’s Encrypt



Опитайте Нашия Инструмент За Премахване На Проблемите

Let’s Encrypt е проект за съвместна работа на Linux Foundation, отворен орган за сертифициране, предоставен от Internet Security Research Group. Безплатно за всеки, който притежава име на домейн, да използва Let’s Encrypt, за да получи доверен сертификат. Възможността за автоматизиране на процеса на подновяване, както и работа за улесняване на инсталирането и конфигурирането. Помогнете за защитата на сайтовете и подобрете практиките за сигурност на TLS. Поддържайте прозрачност, като всички сертификати са публично достъпни за проверка. Позволете на другите да използват своите протоколи за издаване и подновяване като отворен стандарт.



По същество, Let’s Encrypt се опитва да направи сигурността да не разчита на нелепи обръчи, направени от големи организации с цел печалба. (Може да се каже, че вярвам в отворен код и това е най-добре отворен код).



Има две опции: изтеглете пакета и инсталирайте от хранилища или инсталирайте certbot-auto wrapper (по-рано letsencrypt-auto) от letsencrypt директно.



За изтегляне от хранилищата

sudo apt-get инсталирайте letsencrypt -y

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



sudo letsencrypt certonly –standalone –d example.com -d subdomain.example.com -d othersubdomain.example.com

ssl1

Въведете вашия имейл и се съгласете с условията на услугата. Вече трябва да имате сертификат, добър за всеки от въведените от вас домейни и поддомейни. Всеки домейн и поддомейн се оспорват, така че ако нямате dns запис, сочещ към вашия сървър, заявката ще се провали.

Ако искате да тествате процеса, преди да получите действителния си сертификат, можете да добавите –test-cert като аргумент след certonly. Забележка: –test-cert инсталира невалиден сертификат. Можете да направите това неограничен брой пъти, но ако използвате сертификати на живо, има ограничение за тарифата.

ssl2

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

Преминаване към конфигурацията на NGINX за използване на нашия новопридобит сертификат! За пътя към сертификата използвам действителния път, а не регулярния израз.

Имаме SSL, може също да пренасочим целия си трафик към него. Първата сървърна секция прави точно това. Настроил съм да пренасочва целия трафик, включително поддомейни, към основния домейн.

2016-05-16_122009

Ако използвате Chrome и не деактивирате гореизброените ssl шифри, ще получите err_spdy_inadequate_transport_security. Също така трябва да редактирате файла nginx conf, за да изглежда нещо подобно, за да заобиколите недостатък в сигурността в gzip

2016-05-16_122647

ssl3

Ако установите, че получавате нещо като отказан достъп - трябва да проверите отново дали името на сървъра (и корен) е правилно. Току-що завърших да си блъскам главата в стената, докато не припаднах. За щастие в кошмарите на сървъра ми дойде отговорът - забравихте да зададете основната си директория! Кървав и затъпен, сложих коренчето и ето го, моят прекрасен индекс.

Ако пръчка да настроите за отделни поддомейни, можете да използвате

2016-05-16_122342

Ще бъдете подканени да създадете парола за потребителско име (два пъти).

sudo service nginx рестартиране

Сега ще имате достъп до вашия сайт от всяко място с потребителско име и парола или локално без. Ако искате винаги да имате предизвикателство за парола, премахнете позволи 10.0.0.0/24; # Преминете към вашата локална мрежова линия.

Имайте предвид разстоянието за auth_basic, ако не е правилно, ще получите грешка.

Ако сте сгрешили паролата, получавате 403

ssl4

Последен елемент, който трябва да направим, да настроим автоматично подновяване на SSL сертификатите.

За това проста задача cron е правилният инструмент за работата, ще я поставим като root потребител, за да предотвратим грешки при разрешения

(sudo crontab -l 2> / dev / null; ехо ‘0 0 1 * * letsencrypt подновяване’) | sudo crontab -

Причината за използване на / dev / null е да се гарантира, че можете да пишете в crontab, дори ако преди това не е съществувал.

3 минути четене