Hoe u HTTP naar HTTPS kunt omleiden op Apache
HTTP (Hyper Text Transfer Protocol) is een populair en tevens het fundamentele protocol voor datacommunicatie op het World Wide Web (WWW ); meestal tussen een webbrowser en de server die webbestanden opslaat. Terwijl HTTPS de beveiligde versie van HTTP is, waarbij de ‘S‘ aan het einde staat voor ‘Secure‘.
Met behulp van HTTPS worden alle gegevens tussen uw browser en de webserver gecodeerd en dus veilig. Deze tutorial laat zien hoe je HTTP omleidt naar HTTPS op de Apache HTTP-server in Linux.
Voordat u een Apache HTTP naar HTTPS omleiding voor uw domein kunt instellen, moet u ervoor zorgen dat u een SSL-certificaat heeft geïnstalleerd en mod_rewrite heeft is ingeschakeld in Apache. Raadpleeg de volgende handleidingen voor meer informatie over het instellen van SSL op Apache.
- Hoe u zelfondertekende SSL-certificaten en sleutels voor Apache kunt maken
- Hoe installeer ik het Let's Encrypt SSL-certificaat op CentOS/RHEL 7
- Hoe installeer ik het Let’s Encrypt SSL-certificaat op Debian/Ubuntu
Leid HTTP om naar HTTPS op Apache met behulp van het .htaccess-bestand
Zorg ervoor dat mod_rewrite voor deze methode is ingeschakeld, schakel het anders op deze manier in op Ubuntu/Debian-systemen.
sudo a2enmod rewrite [Ubuntu/Debian]
Voor CentOS/RHEL-gebruikers: zorg ervoor dat u de volgende regel in httpd.conf heeft (ondersteuning voor mod_rewrite – standaard ingeschakeld).
LoadModule rewrite_module modules/mod_rewrite.so
Nu hoeft u alleen maar het .htaccess-bestand in de hoofdmap van uw domein te bewerken of aan te maken en deze regels toe te voegen om http om te leiden naar https.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Wanneer een bezoeker nu http://www.uwdomein.com
typt, zal de server HTTP automatisch omleiden naar HTTPS https://www.uwdomein.com
.
Leid HTTP om naar HTTPS op Apache Virtual Host
Om te forceren dat al het webverkeer HTTPS gebruikt, kunt u bovendien uw virtuele hostbestand configureren. Normaal gesproken zijn er twee belangrijke secties van een virtuele hostconfiguratie als een SSL-certificaat is ingeschakeld; de eerste bevat configuraties voor de niet-beveiligde poort 80.
De tweede is voor de beveiligde poort 443. Om HTTP om te leiden naar HTTPS voor alle pagina's van uw website, opent u eerst het juiste virtuele hostbestand. Wijzig het vervolgens door de onderstaande configuratie toe te voegen.
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>
Sla het bestand op en sluit het, start vervolgens de HTTP-server opnieuw op deze manier.
sudo systemctl restart apache2 [Ubuntu/Debian]
sudo systemctl restart httpd [RHEL/CentOS]
Terwijl de
de meest aanbevolen oplossing is omdat deze eenvoudiger en veiliger is.
Misschien wilt u dit nuttige assortiment artikelen over het verbeteren van de beveiliging van Apache HTTP-servers lezen:
- 25 Handige Apache ‘.htaccess’-trucs om websites te beveiligen en aan te passen
- Hoe u webmappen in Apache met een wachtwoord kunt beveiligen met behulp van het .htaccess-bestand
- Hoe Apache-versienummer en andere gevoelige informatie te verbergen
- Bescherm Apache tegen brute force- of DDoS-aanvallen met Mod_Security en Mod_evasive
Dat is alles! Als u uw mening over deze handleiding wilt delen, kunt u het onderstaande feedbackformulier gebruiken. En vergeet niet om altijd verbonden te blijven met linux-console.net.