Jinsi ya kuelekeza HTTP kwa HTTPS kwenye Apache


HTTP (Itifaki ya Uhamisho wa Maandishi ya Juu) ni itifaki maarufu na pia itifaki ya kimsingi ya mawasiliano ya data kwenye Wavuti ya Ulimwenguni Pote (WWW); kawaida kati ya kivinjari na seva ambayo huhifadhi faili za wavuti. Ingawa HTTPS ni toleo salama la HTTP, ambapo 'S' mwishoni inasimamia 'Salama'.

Kwa kutumia HTTPS, data yote kati ya kivinjari chako na seva ya wavuti imesimbwa kwa njia fiche hivyo ni salama. Mafunzo haya yatakuonyesha jinsi ya kuelekeza HTTP kwa HTTPS kwenye seva ya Apache HTTP katika Linux.

Kabla ya kusanidi Apache HTTP ya kuelekeza kwingine kwa HTTPS kwa kikoa chako, hakikisha kuwa umesakinisha cheti cha SSL na mod_rewrite imewashwa katika Apache. Kwa habari zaidi juu ya jinsi ya kusanidi SSL kwenye Apache, angalia miongozo ifuatayo.

  1. Jinsi ya Kuunda Vyeti na Funguo za SSL zilizojiandikisha kwa ajili ya Apache
  2. Jinsi ya Kusakinisha Hebu Tusimbe Cheti cha SSL kwenye CentOS/RHEL 7
  3. Jinsi ya Kusakinisha Hebu Tusimbe Cheti cha SSL kwenye Debian/Ubuntu

Elekeza upya HTTP kwa HTTPS kwenye Apache Kwa kutumia .htaccess Faili

Kwa njia hii, hakikisha mod_rewrite imewezeshwa, vinginevyo iwezeshe kama hii kwenye mifumo ya Ubuntu/Debian.

$ sudo a2enmod rewrite	[Ubuntu/Debian]

Kwa watumiaji wa CentOS/RHEL, hakikisha kuwa unayo laini ifuatayo katika httpd.conf (msaada wa mod_rewrite - umewezeshwa kwa chaguomsingi).

LoadModule rewrite_module modules/mod_rewrite.so

Sasa unahitaji tu kuhariri au kuunda faili ya .htaccess katika saraka ya mizizi ya kikoa chako na uongeze mistari hii ili kuelekeza http kwa https.

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

Sasa, mgeni anapoandika http://www.yourdomain.com seva itaelekeza upya HTTP kwa HTTPS kiotomatiki https://www.yourdomain.com.

Elekeza upya HTTP kwa HTTPS kwenye Apache Virtual Host

Zaidi ya hayo, ili kulazimisha trafiki yote ya wavuti kutumia HTTPS, unaweza pia kusanidi faili yako ya seva pangishi. Kwa kawaida, kuna sehemu mbili muhimu za usanidi wa seva pangishi ikiwa cheti cha SSL kimewashwa; ya kwanza ina usanidi wa bandari isiyo salama 80.

Ya pili ni ya mlango salama wa 443. Ili kuelekeza upya HTTP kwa HTTPS kwa kurasa zote za tovuti yako, kwanza fungua faili sahihi ya seva pangishi. Kisha urekebishe kwa kuongeza usanidi hapa chini.

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>

Hifadhi na ufunge faili, kisha uanze upya seva ya HTTP hivi.

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

Ingawa ndilo suluhisho linalopendekezwa zaidi kwa sababu ni rahisi na salama zaidi.

Unaweza kupenda kusoma urithi huu muhimu wa nakala za ugumu wa usalama wa seva ya Apache HTTP:

  1. Mbinu 25 Muhimu za Apache ‘.htaccess’ za Kulinda na Kubinafsisha Tovuti
  2. Jinsi ya Kulinda Nenosiri la Saraka za Wavuti katika Apache Kwa Kutumia Faili ya .htaccess
  3. Jinsi ya Kuficha Nambari ya Toleo la Apache na Maelezo Mengine Nyeti
  4. Linda Apache dhidi ya Nguvu ya Kinyama au Mashambulizi ya DDoS Ukitumia Mod_Security na Mod_evasive

Ni hayo tu! Ili kushiriki mawazo yoyote kuhusu mwongozo huu, tumia fomu ya maoni iliyo hapa chini. Na kumbuka kuendelea kushikamana na linux-console.net kila wakati.