Sådan omdirigeres HTTP til HTTPS på Apache


HTTP (Hyper Text Transfer Protocol) er en populær såvel som den grundlæggende protokol til datakommunikation på World Wide Web (WWW); typisk mellem en webbrowser og den server, der gemmer webfiler. Mens HTTPS er den sikre version af HTTP, hvor 'S' i slutningen står for 'Secure'.

Ved hjælp af HTTPS er alle data mellem din browser og webserveren krypteret og dermed sikre. Denne tutorial viser dig, hvordan du omdirigerer HTTP til HTTPS på Apache HTTP-server i Linux.

Før du kan konfigurere en Apache HTTP til HTTPS-omdirigering til dit domæne, skal du sørge for, at du har SSL-certifikat installeret, og mod_rewrite er aktiveret i Apache. Se følgende guider for at få flere oplysninger om, hvordan du konfigurerer SSL på Apache.

  1. Sådan oprettes selvsignerede SSL-certifikater og nøgler til Apache
  2. Sådan installeres Lad os kryptere SSL-certifikat på CentOS/RHEL 7
  3. Sådan installeres Lad os kryptere SSL-certifikat på Debian/Ubuntu

Omdiriger HTTP til HTTPS på Apache ved hjælp af .htaccess-fil

For denne metode skal du sørge for, at mod_rewrite er aktiveret, ellers aktiver det sådan på Ubuntu/Debian-systemer.

$ sudo a2enmod rewrite	[Ubuntu/Debian]

For CentOS/RHEL-brugere skal du sikre dig, at du har følgende linje i httpd.conf (mod_rewrite support - aktiveret som standard).

LoadModule rewrite_module modules/mod_rewrite.so

Nu skal du bare redigere eller oprette .htaccess-fil i dit domæne rodkatalog og tilføje disse linjer for at omdirigere http til https.

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

Når en besøgende nu skriver http://www.yourdomain.com omdirigerer serveren automatisk HTTP til HTTPS https://www.yourdomain.com .

Omdiriger HTTP til HTTPS på Apache Virtual Host

Derudover kan du også konfigurere din virtuelle værtsfil for at tvinge al webtrafik til at bruge HTTPS. Normalt er der to vigtige sektioner af en virtuel værtskonfiguration, hvis et SSL-certifikat er aktiveret; den første indeholder konfigurationer for den ikke-sikre port 80.

Den anden er for den sikre port 443. For at omdirigere HTTP til HTTPS for alle siderne på dit websted skal du først åbne den relevante virtuelle værtsfil. Ændr det derefter ved at tilføje konfigurationen nedenfor.

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>

Gem og luk filen, og genstart derefter HTTP-afbrydelsen sådan.

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

Mens er den mest anbefalede løsning, fordi den er enklere og mere sikker.

Du kan godt lide at læse disse nyttige sortiment af Apache HTTP-serveresikkerhedshærdende artikler:

  1. 25 Nyttige Apache '.htaccess' tricks til at sikre og tilpasse websteder
  2. Sådan passwordbeskyttes webmapper i Apache ved hjælp af .htaccess-fil
  3. Sådan skjules Apache-versionsnummer og anden følsom information
  4. Beskyt Apache mod brutal kraft eller DDoS-angreb ved hjælp af Mod_Security og Mod_evasive

Det er alt! Brug feedbackformularen nedenfor for at dele tanker om denne guide. Og husk at altid være forbundet til linux-console.net.