Kako podesiti Apache za redirekciju saobraćaja sa HTTP na HTTPS
Ukoliko vaš veb-sajt koristi Apache i SSL, nema puno razloga da i dalje nastavite da koristite HTTP za taj sajt. Kao što verovatno već znate, istovremeno korišćenje HTTP-a i HTTPS-a samo kreira takozvani dupli sadržaj, jer će tako svaka stranica biti dostupna preko dva, tehnički različita URL-a.
U ovom tekstu ćemo objasniti kako da na Linux sistemu koji koristi Apache i SSL redirektujete sav HTTP sadržaj na HTTPS. Na taj način ćete biti sigurni da se svi posetioci vašeg sajta konektuju isključivo preko HTTPS-a.
Dva su moguća načina da ovo postignemo. Po nama bolji metod je da konfigurišete Virtual Host, ali nažalost ovaj metod može biti nedostupan kod nekih hosting kompanija. Drugi metod je da napravimo neke izmene u .htaccess
fajlu. U ovom tekstu ćemo predstaviti oba načina.
Sve što navodimo u ovom tekstu možete izvesti na bilo kojoj Linux distribuciji. Pored toga, kao što smo na početku pomenuli, potrebno je da sajt radi na Apache serveru i da imate root pristup svom Linux sistemu.
Redirekcija HTTP na HTTPS uz pomoć Virtual Hosta
Na Ubuntu, Debian-u i njihovim derivatima možete pronaći virtual host fajlove na lokaciji /etc/apache2/sites-available
Otvorite odgovarajući fajl u nekom tekst editoru:
$ sudo vi /etc/apache2/sites-available/tvojsajt.conf
Na RedHat-u, CentOS-u Fedori i drugim derivatima, virtual host konfiguracija se nalazi na lokaciji:
$ sudo vi /etc/httpd/conf.d
Ovaj fajl se, između ostalog, može koristiti da redirektujete saobraćaj. Ukoliko već korisitite HTTP i HTTPS na vašem sajtu, trebalo bi da u fajlu već imate bar dva Virtual Hosta. Jedan za port 80 (HTTP) i jedan za 443 (HTTPS). Da biste redirektovali saobraćaj, potrebno je da dodate sledeću liniju:
Redirect permanent / https://tvojsajt.rs/
Dodajte je negde unutar <VirtualHost *:80>
; kao što je prikazano na primeru ispod. Naravno, tvojsajt.rs zamenite nazivom vašeg sajta.
Sačuvajte izmene i zatvorite fajl kada završite. Da bi ove izmene bile primenjene, treba da reload-ujete Apache config uz pomoć sledeće systemctl komande:
$ sudo systemctl reload apache2 # Debian, Ubuntu
OR
$ sudo systemctl reload httpd # Red Hat, CentOS, Fedora
Redirekcija preko .htaccess fajla
Ako nemate pristup Virtual Host konfiguraciji, u tom slučaju jedina preostala metoda vam je izmena .htaccess
fajla. Pronaćićete ga u root direktorijumu vašeg veb-sajta. Nevezano za to koji hosting koristite, trebalo bi da imate pristup ovom fajlu.
Jednostavno izmenite ovaj fajl dodavanjem sledećih linija koda. Možete ih dodati na kraj vašeg .htaccess
fajla.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://tvojsajt.rs/ [L,R=301]
S obzirom da Apache ne mora biti reload-ovan za primenu ovih izmena, one su automatski primenjene. To možete i sami primetiti čim otvorite vaš sajt.
To je ujedno i sve što treba da uradite da bi bila aktivirana redirekcija HTTP na HTTPS.
Kao što ste videli HTTPS je logičan izbor kada je u pitanju konekcija ka vašem veb-sajtu. Zato je naša preporuka da potpuno isključite HTTP i sledeći naša uputstva iz ovog teksta u potpunosti redirektujete saobraćaj sa HTTP na HTTPS.
Bez komentara