Weboldal keresés

A HTTP átirányítása HTTPS-re az Apache-on


A HTTP (Hyper Text Transfer Protocol) a World Wide Web (WWW) népszerű és alapvető adatkommunikációs protokollja ); jellemzően egy webböngésző és a webfájlokat tároló szerver között. Míg a HTTPS a HTTP biztonságos verziója, ahol az „S” a végén a „Biztonságos” rövidítése.

A HTTPS használatával a böngésző és a webszerver között minden adat titkosítva van, így biztonságban van. Ez az oktatóanyag bemutatja, hogyan irányíthatja át a HTTP-t a HTTPS-re az Apache HTTP-kiszolgálón Linux rendszeren.

Mielőtt beállíthatna egy Apache HTTP-t a HTTPS átirányításra a domainhez, győződjön meg arról, hogy telepítve van az SSL-tanúsítvány és mod_rewrite. engedélyezve van az Apache-ban. Az SSL Apache rendszeren történő beállításával kapcsolatos további információkért tekintse meg a következő útmutatókat.

  1. Önaláírt SSL-tanúsítványok és kulcsok létrehozása az Apache számára
  2. A Let’s Encrypt SSL-tanúsítvány telepítése a CentOS/RHEL 7 rendszeren
  3. A Let’s Encrypt SSL-tanúsítvány telepítése Debian/Ubuntu rendszeren

A HTTP átirányítása HTTPS-re az Apache-on .htaccess fájl használatával

Ennél a módszernél győződjön meg arról, hogy a mod_rewrite engedélyezve van, ellenkező esetben engedélyezze Ubuntu/Debian rendszereken.

sudo a2enmod rewrite	[Ubuntu/Debian]

CentOS/RHEL-felhasználók esetén győződjön meg arról, hogy a következő sorral rendelkezik a httpd.conf fájlban (mod_rewrite támogatás – alapértelmezés szerint engedélyezve).

LoadModule rewrite_module modules/mod_rewrite.so

Most már csak szerkesztenie kell vagy létrehoznia kell a .htaccess fájlt a domain gyökérkönyvtárában, és hozzáadnia kell ezeket a sorokat a http https-re való átirányításához.

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

Most, amikor egy látogató beírja a http://www.yourdomain.com címet, a szerver automatikusan átirányítja a HTTP-t a HTTPS https://www.yourdomain.com címre.

A HTTP átirányítása HTTPS-re az Apache Virtual Host-on

Ezenkívül, ha az összes webes forgalmat a HTTPS használatára szeretné kényszeríteni, beállíthatja a virtuális gazdagép fájlját is. Általában a virtuális gazdagép konfigurációinak két fontos része van, ha az SSL-tanúsítvány engedélyezve van; az első a nem biztonságos 80-as port konfigurációit tartalmazza.

A második a 443-as biztonságos portra vonatkozik. Ha a HTTP-t HTTPS-re szeretné átirányítani webhelye összes oldalán, először nyissa meg a megfelelő virtuális gazdagép fájlt. Ezután módosítsa az alábbi konfiguráció hozzáadásával.

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>

Mentse és zárja be a fájlt, majd indítsa újra a HTTP szervert így.

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

Míg a a leginkább ajánlott megoldás, mert egyszerűbb és biztonságosabb.

Érdemes elolvasni az Apache HTTP-kiszolgáló biztonságának megerősítésével kapcsolatos hasznos cikkeket:

  1. 25 hasznos Apache „.htaccess” trükk a webhelyek biztonságossá tételéhez és testreszabásához
  2. Webkönyvtárak jelszavas védelme az Apache-ban .htaccess fájl használatával
  3. Az Apache verziószámának és egyéb kényes információk elrejtése
  4. Védje meg az Apache-ot a Brute Force vagy a DDoS támadásoktól a Mod_Security és Mod_evasive segítségével

Ez minden! Az útmutatóval kapcsolatos gondolatok megosztásához használja az alábbi visszajelzési űrlapot. És ne feledje, hogy mindig kapcsolatban maradjon a linux-console.net oldallal.