Имам домейн adminkin.pro. Ще получавам, инсталирам и настройвам безплатен SSL сертификат за този домейн. Разгледай два случая: когато сайтът е на виртуален хостинг и когато сайтът е на дедициран сървър. Ще настроя пренасочване от HTTP към HTTPS. Всичките си действия ще опиша в тази статия. Да започваме!
Дали ли е необходимост SSL сертификат за уебсайт?
Ако трябва да бъде кратък отговорът е „Да, е нужен!“
Ако говорим по-подробно, още през 2014 година Google явно заяви, че подкрепата на HTTPS протокола е фактор за ранжиране. С други думи, сайтовете, които поддържат HTTPS протокол, при равни условия заемат по-високи места в Google търсачката в сравнение с сайтовете на HTTP протокола. А подкрепата на HTTPS протокола става възможна точно благодарение на SSL сертификата.
Яндекс не отстъпва на Гугъл, твърди, че е за безопасен интернет и че използването на протокола HTTPS е един от признаците за безопасен сайт, поради което изборът на защитен протокол HTTPS може да бъде взет под внимание при ранжирането.
Безплатен SSL сертификат от Let’s Encrypt.
Поради събитията от 24 февруари 2022 г. в Украйна, много платени, но бюджетни SSL сертификати са станали недостъпни за закупуване в Русия. Но се оказва, че безплатният SSL сертификат от Центъра за сертификация Let’s Encrypt (Сан Франциско, САЩ) е достъпен, инсталира се и се актуализира перфектно! Обяснението е едно: Центърът за сертификация Let’s Encrypt е некомерсиална организация, а некомерсиалните организации са по-трудни за подчиняване на някакво натискане.
Как да получите безплатен SSL сертификат за сайта си на виртуален хостинг?
Първоначално влизваме в хостинга, където е добавен вашият домейн (Нямате домейн? Прочетете нашия статия Как да купим домейн). Намираме раздела SSL на хостинга, на моя хостинг раздела SSL изглежда така: „

В момента почти няма хостинг, който да не предлага на своите клиенти инсталиране на SSL сертификат от Let’s Encrypt. Затова потърсете нещо като Инсталиране на SSL сертификат от Let’s Encrypt. На своя хостинг просто натискам бутона Инсталиране (вж. горната снимка) и избирам Let’s Encrypt (вж. долната снимка).

Следващата стъпка е да изберем домейн, към който ще бъде свързан SSL сертификат. Аз избирам моя adminkin.pro. За да получим SSL сертификат от Let’s Encrypt, не е необходимо да имаме отделен / статичен / постоянен IP адрес, затова избирам Без IP. И натискам Инсталирай.

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


Получихме и инсталирахме безплатен SSL сертификат за сайта на виртуален хостинг.
Проверете единственната настройка Автоматично подновяване за сертификата. Автоматичното подновяване трябва да бъде Включено. Това е много важно, тъй като сертификатът Let’s Encrypt се издава само за 90 дни, т.е. трябва да се подновява веднъж на 3 месеца. И това е много удобно да се прави автоматично!
Как да получите безплатен SSL сертификат за сайт на дедициран сървър?
- Уебсайтът трябва да бъде достъпен на порт 80.
- Клиентът Let’s Encrypt (известен още като Cert bot) автоматично създава и инсталира SSL сертификати от Let’s Encrypt и не изисква спиране на уеб сървъра. Инсталация на клиента Let’s Encrypt:
apt install certbot python-certbot-apache
- Стартираме Cert bot за генериране на SSL сертификат и монтирането му на сайта (domain.ru заменете с името на вашия домейн):
certbot --apache -d domain.ru -d www.domain.ru --register-unsafely-without-email
- SSL сертификатът се инсталира в /etc/letsencrypt/live/domain.ru/

„cert.pem“ – това е SSLCertificateFile, „chain.pem“ – това е SSLCertificateChainfile, „privkey.pem“ – това е SSLCertificateKeyFile, „fullchain.pem“ – това е обединението на първите два сертификата.
- Cert bot автоматично открива конфигурационния файл на виртуален хост (domainru.conf) с домейн domain.ru и добавя пътищата към SSL сертификата. Трябва само да ги проверите.

- Активираме виртуален хост с SSL и рестартираме уеб сървъра:
a2ensite domainru.conf
systemctl reload apache2
- Ръчно подновяване на SSL сертификат:
certbot renew
- За автоматично подновяване на SSL сертификата с помощта на cron, добавете следната задача в cron на потребителя root:
30 2 * * 1 /usr/bin/certbot renew >> /var/log/certbot.log
Валидността на SSL сертификата ще бъде проверявана всяка понеделник в 2:30 часа през нощта. Ако срокът на валидност на сертификата изтича, ще бъде стартиран Cert bot за обновяване на сертификата.
Грешка „Уебсайтът извърши пренасочване твърде много пъти. ERR_TOO_MANY_REDIRECTS“
След инсталирането на SSL сертификат, сайтът става достъпен чрез HTTPS протокола. С други думи, ако въведа https://adminkin.pro в адресната лента на браузъра, сайтът ще се покаже в браузъра, въпреки че може да има проблеми с изгледа му.

За да бъде напълно защитена връзката с уебсайта, SSL сертификатът не е достатъчен, трябва да се настрои пренасочване от HTTP към HTTPS протокола. При настройката на пренасочването, ако направите нещо грешно, ще се появи следната грешка:

Тази грешка означава, че пренасочването от HTTP към защитения протокол HTTPS е направено неправилно, в браузъра на потребителя се появява циклично пренасочване от един протокол към друг, сървърът регистрира голям брой пренасочвания и издава грешка „Уебсайтът е направил твърде много пренасочвания. ERR_TOO_MANY_REDIRECTS“„.
„Как да оправим грешка в WordPress?“
- Спомняме си всички последни действия с уебсайта, за да можем да ги „откатим“ обратно към предишното състояние, преди грешката.
- Ръчно задаваме протокола, който сайтът използва. За да го направим, добавяме следните редове във файла wp-config.php, който се намира в основната директория на вашия сайт:
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';

- Като въведете протокола https в адресната лента на браузъра, влизате в административната част на вашия сайт в WordPress и коригирате промените, които причиняват грешката ERR_TOO_MANY_REDIRECTS. Например, за своя сайт аз бих въвел следното в адресната лента на браузъра: https://adminkin.pro/wp-admin/index.php.
- Отново редактираме файла wp-config.php, този път изтриваме три реда, които добавихме по-рано.
- Внимателно прочетете разделите на статията Как да настроите пренасочване от HTTP към HTTPS за сайт на WordPress и Как да настроите пренасочване от HTTP към HTTPS за самостоятелно създаден сайт, за да не се сблъсквате повече с грешката „Сайтът извърши пренасочване твърде много пъти. ERR_TOO_MANY_REDIRECTS“.
Как да настроите пренасочване от HTTP към HTTPS за уебсайта на WordPress.
Настройката на пренасочване от HTTP към HTTPS в WordPress се извършва с помощта на плъгин. Влизаме в административния панел на WordPress, избираме Плъгини -> Добавяне на нов. В полето за търсене на плъгини въвеждаме simple ssl, избираме нужния ни плъгин Really Simple SSL.

Натискаме върху Инсталиране и Активиране на разширението Really Simple SSL. Разширението ни информира, че Всичко е готово за преминаване към SSL:

„Плъгинът Really Simple SSL предлага преди преминаването към SSL:“
- „Проверете http връзките в .css и .js файловете и заменете всички http:// с https://. По мое мнение, най-добрият начин е да не се посочва протокол във връзките. Пример за връзка с посочен протокол: „
<a href="https://adminkin.pro/linux/" class="menu-link">
Пример на линк БЕЗ посочване на протокол:
<a href="//adminkin.pro/linux/" class="menu-link">
- „Проверете изображения, стилове и скриптове от домейн без SSL сертификат, изтрийте ги или ги преместете на своя сайт.“
Всичко е проверено? Натискаме бутона Активиране на SSL. Вижте какво стана:

Плъгинът Really Simple SSL предлага да проверим сигурността на нашия уебсайт. Да проверим! Въведете адреса на сайта в адресната лента на браузъра. Например, аз ще въведа http://adminkin.pro и ще проверя как работи пренасочването от HTTP към HTTPS.
Ох! Уебсайтът се зареди, пренасочването работи, преди адреса на сайта в адресната лента се появява Катинар.

Натискаме върху Катинар и в изскачащото меню кликваме върху Безопасно свързване.

Ура! Имам Сигурна връзка и Валиден сертификат.
Връщаме се към административната част на WordPress и продължаваме да следваме препоръките на плъгина Really Simple SSL.

Плъгинът ви моли да не забравите да промените вашите URL адреси във външни услуги като Google Analytics.
Гледаме по-нататък препоръките на плъгина:

Плъгинът информира, че Пренасочването на WordPress 301 е включено, препоръчва се да се включи пренасочването 301 в .htaccess файла. Пренасочването 301 е точно това пренасочване от HTTP към HTTPS, с което се занимаваме.
Ще включа пренасочване 301 във файла .htaccess, тъй като ще изтрия плъгина Really Simple SSL, който вече е свършил работата си, а при изтриването му пренасочването на WordPress 301 ще бъде изключено, но пък пренасочването 301 във файла .htaccess ще остане включено.
Нека започнем! Натискаме връзката Включване (вж. горната снимка) и преместваме плъзгача отляво надясно в реда Включване на 301 пренасочване .htaccess (вж. долната снимка). Натискаме бутона Запазване.

Всичко е готово! Сега може да изтриете плъгина Really Simple SSL спокойно. Изберете раздел Плъгини -> Инсталирани -> Really Simple SSL -> Деактивиране.

Тук избираме Изключване, запазване на https. Сега натискаме връзката Премахване до плъгина Really Simple SSL.
Как да настроите пренасочване от HTTP към HTTPS за собствен уебсайт?
Ако имате собствен уебсайт и Apache уеб сървър, пренасочването от HTTP към HTTPS се настройва ръчно във файла .htaccess, който се намира в основната директория на вашия сайт. Отворете файла .htaccess в който и да е текстов редактор и добавете следните редове:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !robots\.txt
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/\ [R=301]
Първият ред RewriteEngine on – включване на пренаписването на URL адресите. Останалите редове – самият процес на преобразуване на HTTP в HTTPS.
Ако главното огледало на вашия уебсайт е домейн името без www, като например adminkin.pro, е време да добавите Пренасочване към www във файла .htaccess, като добавите следните редове:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/\ [R=301,L]
Ако главното огледало на сайта е домейн името с www, например www.adminkin.pro, тогава добавете следните редове във файла .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\..* [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/\ [R=301,L]
Получих такъв резултат:

Изводи
Яндекс и Google за безопасен интернет, а ние заедно с нашия сайт също! За тази цел разбрахме как да получим безплатен SSL сертификат за сайт на виртуален хостинг и за сайт на дедициран сървър. Разбрахме как да настроим пренасочване от HTTP към HTTPS и проверихме сигурността на нашия сайт.
Как това може да помогне на бизнеса?
Тази статия обяснява как да получите безплатен SSL сертификат за бизнес уебсайта. Както беше споменато по-рано, наличието на SSL сертификат придава „солидност“ на уебсайта в очите на търсачките, гарантира по-добри позиции в търсачките и, като резултат, по-голям поток от клиенти към уебсайта.
Моля, оставете всички въпроси в коментарите под тази статия.
Коментари