📒 

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

1. Разбиране на HTTP и HTTPS

  • HTTP (Hypertext Transfer Protocol): Стандартният протокол за предаване на данни през интернет. Той не е защитен, което означава, че данните, изпратени чрез HTTP, могат да бъдат прихванати от нападатели.
  • HTTPS (HTTP Secure): Това е разширение на HTTP, което използва SSL/TLS криптиране за защита на данните, предавани между клиента и сървъра. Това гарантира, че чувствителната информация, като например идентификационни данни за вход и данни за плащане, е криптирана и защитена.

2. Инсталиране на SSL сертификат

Преди да настроите пренасочването, трябва да инсталирате SSL сертификат на вашия сървър. Можете да получите SSL сертификат от различни доставчици, включително:

  • Let’s Encrypt: Безплатен, автоматизиран и отворен орган за издаване на сертификати.
  • Търговски доставчици на SSL: Comodo, DigiCert или GoDaddy.

За този пример ще предположим, че използвате Let’s Encrypt. Ако все още не сте настроили SSL, следвайте тези стъпки:

Стъпка 1: Инсталирайте Certbot

Certbot е инструмент за автоматизиране на процеса на получаване и подновяване на SSL сертификати от Let’s Encrypt.

sudo apt update sudo apt install certbot python3-certbot-nginx

Стъпка 2: Получаване на SSL сертификат

Стартирайте Certbot, за да получите и конфигурирате автоматично вашия SSL сертификат:

sudo certbot –nginx

Следвайте указанията, за да настроите SSL сертификата си. Certbot автоматично ще конфигурира Nginx да използва HTTPS.

3. Пренасочване на HTTP към HTTPS

След като сте инсталирали SSL сертификата, трябва да конфигурирате Nginx да пренасочва HTTP трафика към HTTPS.

Стъпка 1: Отворете конфигурационния файл на Nginx

Отворете конфигурационния файл на Nginx за вашия уебсайт, който обикновено се намира в /etc/nginx/sites-available/. Използвайте предпочитания от вас текстов редактор, за да отворите файла. Например:

sudo nano /etc/nginx/sites-available/example.com

Стъпка 2: Добавяне на правило за пренасочване

В блока на сървъра, който слуша HTTP трафика (обикновено на порт 80), добавете правило за пренасочване, за да препращате всички заявки към HTTPS. Ето как трябва да изглежда вашата конфигурация:

сървър { слуша 80; server_name example.com www.example.com; # Пренасочване на всички HTTP заявки към HTTPS return 301 https://$host$request_uri; }

Тази конфигурация указва на Nginx да пренасочва целия трафик, идващ към HTTP версията на сайта ви, към HTTPS версията.

4. Тестване на конфигурацията

Стъпка 1: Тестване на конфигурацията на Nginx

Преди да презаредите Nginx, тествайте конфигурацията за синтактични грешки:

sudo nginx -t

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

Стъпка 2: Презареждане на Nginx

Приложете промените, като презаредите сървъра Nginx:

sudo systemctl reload nginx

5. Проверка на пренасочването

За да се уверите, че пренасочването функционира правилно:

  1. Отворете уеб браузър и отидете на адрес http://example.com.
  2. Проверете дали автоматично ви пренасочва към https://example.com.
  3. Можете също така да използвате инструменти за команден ред като curl, за да тествате пренасочването:
curl -I http://example.com

Трябва да видите отговор 301 Moved Permanently (Преместено постоянно) със заглавие Location (Местоположение), насочено към HTTPS URL адреса.

6. Заключение

Пренасочването от HTTP към HTTPS на вашия Linux сървър с помощта на Nginx е лесен процес, който повишава сигурността и доверието на потребителите. Като следвате стъпките, описани в това ръководство, можете успешно да настроите автоматично пренасочване, като гарантирате, че целият трафик към сайта ви е сигурен. Редовно проверявайте валидността на SSL сертификата си и го подновявайте при необходимост, за да поддържате сигурна връзка.