Apache-de HTTP-ni HTTPS-e nädip gönükdirmeli


HTTP (Hyper Text Transfer Protocol), Bütindünýä Kerebi (WWW) -da maglumat aragatnaşygy üçin meşhur we esasy protokol; adatça web brauzeri bilen web faýllaryny saklaýan serweriň arasynda. HTTPS bolsa HTTP-iň ygtybarly wersiýasy bolsa, ahyrynda “S” “Howpsuz” diýmekdir.

HTTPS ulanyp, brauzeriňiz bilen web serweriň arasyndaky ähli maglumatlar şifrlenen. Bu gollanma, Linux-daky Apache HTTP serwerinde HTTP-ni HTTPS-e nädip gönükdirmelidigini görkezer.

Domeniňiz üçin HTTPS gönükdirme üçin Apache HTTP gurmazdan ozal, SSL şahadatnamasynyň gurnalandygyna we Apache-de mod_rewrite açykdygyna göz ýetiriň. Apache-de SSL-i nädip gurup boljakdygy barada has giňişleýin maglumat üçin aşakdaky gollanmalara serediň.

  1. Öz-özüňe gol çekilen SSL şahadatnamalaryny we Apache üçin açarlary nädip döretmeli
  2. CentOS/RHEL 7-de SSL şahadatnamasyny nädip şifrlemeli?
  3. Debian/Ubuntu-da SSL şifrlemek şahadatnamasyny nädip gurmaly

.Htaccess faýly ulanyp, HTTP-ni Apache-de HTTPS-e gönükdiriň

Bu usul üçin mod_rewrite açykdygyna göz ýetiriň, ýogsam Ubuntu/Debian ulgamlarynda şunuň ýaly işlediň.

$ sudo a2enmod rewrite	[Ubuntu/Debian]

CentOS/RHEL ulanyjylary üçin httpd.conf-da aşakdaky setiriň bardygyna göz ýetiriň (mod_rewrite goldawy - deslapky görnüşde işledilýär).

LoadModule rewrite_module modules/mod_rewrite.so

Indi diňe domen kök katalogyňyzda .htaccess faýlyny redaktirlemeli ýa-da döretmeli we http-ni https-a gönükdirmek üçin bu setirleri goşmaly.

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

Indi bir myhman http://www.yourdomain.com ýazsa, serwer awtomatiki usulda HTTP-ni HTTPS https://www.yourdomain.com ugrukdyrar.

HTTP-ni Apache Wirtual Host-da HTTPS-e gönükdiriň

Mundan başga-da, ähli web trafigini HTTPS ulanmaga mejbur etmek üçin wirtual host faýlyňyzy hem düzüp bilersiňiz. Adatça, SSL şahadatnamasy açyk bolsa, wirtual host konfigurasiýasynyň iki möhüm bölümi bar; birinjisi howpsuz däl 80 port üçin konfigurasiýalary öz içine alýar.

Ikinjisi, ygtybarly 443 port üçin. HTTP-ni web sahypaňyzyň ähli sahypalary üçin HTTPS-e gönükdirmek üçin ilki bilen degişli wirtual host faýly açyň. Soňra aşakdaky konfigurasiýany goşup üýtgediň.

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>

Faýly ýazdyryň we ýapyň, soňra şuňa meňzeş HTTP bölümini täzeden açyň.

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

iň ýönekeý we has ygtybarly bolany üçin iň maslahat berilýän çözgüt.

Apache HTTP serweriniň howpsuzlyk berkitme makalalarynyň bu peýdaly görnüşini okamak isläp bilersiňiz:

  1. 25 Peýdaly Apache '.htaccess' Web sahypalaryny goramak we özleşdirmek hileleri
  2. .htaccess faýly ulanyp, Apache-de web kataloglaryny nädip goramaly?
  3. Apache wersiýa belgisini we beýleki duýgur maglumatlary nädip gizlemeli
  4. Apache-ni Mod_Security we Mod_evasive ulanyp, zalym güýçlerden ýa-da DDoS hüjümlerinden goraň

Bu hemmesi! Bu gollanma bilen baglanyşykly pikirleriňizi paýlaşmak üçin aşakdaky seslenme formundan peýdalanyň. Hemişe linux-console.net bilen baglanyşykda bolmagy ýatdan çykarmaň.