Cum se redirecționează HTTP la HTTPS pe Apache


HTTP (Hyper Text Transfer Protocol) este un protocol popular și fundamental pentru comunicarea de date pe World Wide Web (WWW ); de obicei, între un browser web și serverul care stochează fișiere web. În timp ce HTTPS este versiunea securizată a HTTP, unde „S” de la sfârșit înseamnă „Securizat”.

Folosind HTTPS, toate datele dintre browserul dvs. și serverul web sunt criptate astfel securizate. Acest tutorial vă va arăta cum să redirecționați HTTP la HTTPS pe serverul Apache HTTP în Linux.

Înainte de a putea configura un Apache HTTP pentru a redirecționa HTTPS pentru domeniul dvs., asigurați-vă că aveți instalat certificat SSL și mod_rewrite este activat în Apache. Pentru mai multe informații despre cum să configurați SSL pe Apache, consultați următoarele ghiduri.

  1. Cum să creați certificate și chei SSL autosemnate pentru Apache
  2. Cum se instalează Let’s Encrypt SSL Certificate pe CentOS/RHEL 7
  3. Cum se instalează Let’s Encrypt SSL Certificate pe Debian/Ubuntu

Redirecționați HTTP către HTTPS pe Apache utilizând fișierul .htaccess

Pentru această metodă, asigurați-vă că mod_rewrite este activat, altfel activați-l astfel pe sistemele Ubuntu/Debian.

sudo a2enmod rewrite	[Ubuntu/Debian]

Pentru utilizatorii CentOS/RHEL, asigurați-vă că aveți următoarea linie în httpd.conf (suport pentru mod_rewrite – activat implicit).

LoadModule rewrite_module modules/mod_rewrite.so

Acum trebuie doar să editați sau să creați fișierul .htaccess în directorul rădăcină al domeniului dvs. și să adăugați aceste linii pentru a redirecționa http la https.

RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 

Acum, când un vizitator tasta http://www.domeniul tău.com, serverul va redirecționa automat HTTP către HTTPS https://www.domeniul tău.com.

Redirecționează HTTP către HTTPS pe Apache Virtual Host

În plus, pentru a forța tot traficul web să utilizeze HTTPS, puteți, de asemenea, să configurați fișierul gazdă virtuală. În mod normal, există două secțiuni importante ale configurațiilor unei gazde virtuale dacă este activat un certificat SSL; prima conține configurații pentru portul nesecurizat 80.

Al doilea este pentru portul securizat 443. Pentru a redirecționa HTTP către HTTPS pentru toate paginile site-ului dvs., deschideți mai întâi fișierul gazdă virtuală corespunzător. Apoi modificați-l adăugând configurația de mai jos.

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.yourdomain.com
   Redirect / https://www.yourdomain.com
</VirtualHost>

<VirtualHost _default_:443>
   ServerName www.yourdomain.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
etc...
</VirtualHost>

Salvați și închideți fișierul, apoi reporniți serverul HTTP astfel.

sudo systemctl restart apache2     [Ubuntu/Debian]
sudo systemctl restart httpd	     [RHEL/CentOS]

În timp ce este soluția cea mai recomandată, deoarece este mai simplă și mai sigură.

V-ar putea dori să citiți aceste sortimente utile de articole de întărire a securității serverului Apache HTTP:

  1. 25 trucuri utile Apache „.htaccess” pentru a securiza și personaliza site-urile web
  2. Cum să protejați cu parolă directoarele web în Apache folosind fișierul .htaccess
  3. Cum să ascundeți numărul versiunii Apache și alte informații sensibile
  4. Protejați Apache împotriva forței brute sau atacurilor DDoS folosind Mod_Security și Mod_evasive

Asta e tot! Pentru a împărtăși orice gânduri cu privire la acest ghid, folosiți formularul de feedback de mai jos. Și nu uitați să rămâneți mereu conectat la linux-console.net.