Zoeken op website

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.

  1. Hoe u zelfondertekende SSL-certificaten en sleutels voor Apache kunt maken
  2. Hoe installeer ik het Let's Encrypt SSL-certificaat op CentOS/RHEL 7
  3. 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:

  1. 25 Handige Apache ‘.htaccess’-trucs om websites te beveiligen en aan te passen
  2. Hoe u webmappen in Apache met een wachtwoord kunt beveiligen met behulp van het .htaccess-bestand
  3. Hoe Apache-versienummer en andere gevoelige informatie te verbergen
  4. 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.