HTTP:n uudelleenohjaaminen HTTPS:ään Apachessa


HTTP (Hyper Text Transfer Protocol) on suosittu ja perusprotokolla tiedonsiirtoon World Wide Webissä (WWW ); tyypillisesti verkkoselaimen ja verkkotiedostoja tallentavan palvelimen välillä. Sen sijaan HTTPS on HTTP:n suojattu versio, jossa "S" lopussa tarkoittaa "Secure".

HTTPS:n avulla kaikki selaimen ja verkkopalvelimen väliset tiedot salataan, joten ne ovat turvallisia. Tämä opetusohjelma näyttää, kuinka voit ohjata HTTP HTTPS:ään Apache HTTP -palvelimella Linuxissa.

Ennen kuin voit määrittää Apachen HTTP HTTPS-uudelleenohjauksen verkkotunnuksellesi, varmista, että olet asentanut SSL-varmenteen ja mod_rewrite. on käytössä Apachessa. Lisätietoja SSL:n määrittämisestä Apachessa on seuraavissa oppaissa.

  1. Kuinka luoda itse allekirjoitettuja SSL-varmenteita ja avaimia Apachelle
  2. Let's Encrypt SSL-varmenteen asentaminen CentOS/RHEL 7:ään
  3. Let's Encrypt SSL-sertifikaatin asentaminen Debianiin/Ubuntuun

Ohjaa HTTP HTTPS:ään Apachessa .htaccess-tiedoston avulla

Varmista tässä menetelmässä, että mod_rewrite on käytössä. Muussa tapauksessa ota se käyttöön tällä tavalla Ubuntu/Debian-järjestelmissä.

sudo a2enmod rewrite	[Ubuntu/Debian]

CentOS/RHEL-käyttäjille varmista, että sinulla on seuraava rivi tiedostossa httpd.conf (mod_rewrite-tuki – oletuksena käytössä).

LoadModule rewrite_module modules/mod_rewrite.so

Nyt sinun tarvitsee vain muokata tai luoda .htaccess-tiedosto verkkotunnuksesi juurihakemistoon ja lisätä nämä rivit ohjataksesi http:n https:ään.

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

Nyt kun vierailija kirjoittaa http://www.omaverkkotunnus.com, palvelin ohjaa HTTP:n automaattisesti osoitteeseen HTTPS https://www.omaverkkotunnus.com.

Ohjaa HTTP HTTPS:ään Apache Virtual Hostissa

Lisäksi voit pakottaa kaiken verkkoliikenteen käyttämään HTTPS:ää määrittämällä virtuaalisen isäntätiedoston. Normaalisti virtuaalisen isännän kokoonpanoissa on kaksi tärkeää osaa, jos SSL-varmenne on käytössä; ensimmäinen sisältää ei-suojatun portin 80 määritykset.

Toinen on suojattua porttia 443 varten. Jos haluat ohjata HTTP:n HTTPS:ään kaikilla verkkosivustosi sivuilla, avaa ensin sopiva virtuaalinen isäntätiedosto. Muokkaa sitä sitten lisäämällä alla oleva kokoonpano.

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>

Tallenna ja sulje tiedosto ja käynnistä sitten HTTP-palvelin uudelleen näin.

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

Vaikka on suosituin ratkaisu, koska se on yksinkertaisempi ja turvallisempi.

Saatat haluta lukea nämä hyödylliset Apache HTTP-palvelimen tietoturvan vahvistamista koskevat artikkelit:

  1. 25 hyödyllistä Apache '.htaccess' -temppua verkkosivustojen suojaamiseen ja mukauttamiseen
  2. Web-hakemistojen suojaaminen salasanalla Apachessa .htaccess-tiedoston avulla
  3. Kuinka piilottaa Apache-versionumero ja muut arkaluonteiset tiedot
  4. Suojaa Apache brute Force- tai DDoS-hyökkäyksiltä käyttämällä Mod_Security- ja Mod_evasive-palvelua

Siinä kaikki! Voit jakaa ajatuksiasi tästä oppaasta käyttämällä alla olevaa palautelomaketta. Ja muista olla aina yhteydessä linux-console.netiin.