Kako preusmjeriti HTTP na HTTPS na Apacheu


HTTP (Hyper Text Transfer Protocol) je popularan kao i osnovni protokol za komunikaciju podataka na World Wide Web (WWW ); obično između web pretraživača i servera koji pohranjuje web datoteke. Dok je HTTPS sigurna verzija HTTP-a, gdje 'S' na kraju znači 'Secure'.

Koristeći HTTPS, svi podaci između vašeg pretraživača i web servera su šifrirani i tako sigurni. Ovaj vodič će vam pokazati kako preusmjeriti HTTP na HTTPS na Apache HTTP serveru u Linuxu.

Prije nego što možete postaviti Apache HTTP za HTTPS preusmjeravanje za vašu domenu, provjerite imate li instaliran SSL certifikat i mod_rewrite je omogućen u Apacheu. Za više informacija o tome kako postaviti SSL na Apache, pogledajte sljedeće vodiče.

  1. Kako kreirati samopotpisane SSL certifikate i ključeve za Apache
  2. Kako instalirati Let’s Encrypt SSL certifikat na CentOS/RHEL 7
  3. Kako instalirati Let’s Encrypt SSL certifikat na Debian/Ubuntu

Preusmjerite HTTP na HTTPS na Apache koristeći .htaccess datoteku

Za ovu metodu, uvjerite se da je mod_rewrite omogućen, inače je omogućite ovako na Ubuntu/Debian sistemima.

sudo a2enmod rewrite	[Ubuntu/Debian]

Za korisnike CentOS/RHEL-a, uvjerite se da imate sljedeću liniju u httpd.conf (podrška za mod_rewrite – omogućeno po defaultu).

LoadModule rewrite_module modules/mod_rewrite.so

Sada samo trebate urediti ili kreirati datoteku .htaccess u korijenskom direktoriju vaše domene i dodati ove linije da preusmjerite http na https.

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

Sada, kada posjetitelj upiše http://www.yourdomain.com, server će automatski preusmjeriti HTTP na HTTPS https://www.yourdomain.com.

Preusmjerite HTTP na HTTPS na Apache virtuelnom hostu

Osim toga, da prisilite sav web promet da koristi HTTPS, također možete konfigurirati svoj virtualni host fajl. Obično postoje dva važna dijela konfiguracije virtualnog hosta ako je SSL certifikat omogućen; prvi sadrži konfiguracije za nebezbedni port 80.

Drugi je za sigurni port 443. Da biste preusmjerili HTTP na HTTPS za sve stranice vaše web stranice, prvo otvorite odgovarajući virtuelni host fajl. Zatim ga izmijenite dodavanjem konfiguracije ispod.

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>

Sačuvajte i zatvorite datoteku, a zatim ponovo pokrenite HTTP server na ovaj način.

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

Dok je najpreporučljivije rješenje jer je jednostavnije i sigurnije.

Možda biste voljeli da pročitate ove korisne asortimane članaka o sigurnosti Apache HTTP servera:

  1. 25 korisnih Apache '.htaccess' trikova za osiguranje i prilagođavanje web stranica
  2. Kako lozinkom zaštititi web direktorije u Apacheu koristeći .htaccess datoteku
  3. Kako sakriti broj verzije Apachea i druge osjetljive informacije
  4. Zaštitite Apache od brutalne sile ili DDoS napada koristeći Mod_Security i Mod_evasive

To je sve! Da biste podijelili bilo kakve misli u vezi sa ovim vodičem, koristite obrazac za povratne informacije u nastavku. I zapamtite da uvijek ostanete povezani s linux-console.net.