Hvernig á að beina HTTP til HTTPS á Apache


HTTP (Hyper Text Transfer Protocol) er vinsæl sem og grundvallarsamskiptareglur fyrir gagnasamskipti á veraldarvefnum (WWW); venjulega á milli vafra og netþjóns sem geymir vefskrár. En HTTPS er örugga útgáfan af HTTP, þar sem „S“ í lokin stendur fyrir „Secure“.

Með því að nota HTTPS eru öll gögn milli vafrans þíns og vefþjónsins dulkóðuð þannig örugg. Þessi kennsla mun sýna þér hvernig á að beina HTTP til HTTPS á Apache HTTP netþjóni í Linux.

Áður en þú getur sett upp Apache HTTP til HTTPS tilvísun fyrir lénið þitt skaltu ganga úr skugga um að þú hafir SSL vottorð uppsett og mod_rewrite sé virkt í Apache. Fyrir frekari upplýsingar um hvernig á að setja upp SSL á Apache, sjá eftirfarandi leiðbeiningar.

  1. Hvernig á að búa til sjálfundirrituð SSL vottorð og lykla fyrir Apache
  2. Hvernig á að setja upp Let's Encrypt SSL Certificate á CentOS/RHEL 7
  3. Hvernig á að setja upp Let's Encrypt SSL Certificate á Debian/Ubuntu

Beindu HTTP til HTTPS á Apache með því að nota .htaccess skrá

Fyrir þessa aðferð, vertu viss um að mod_rewrite sé virkt, annars virkjaðu það svona á Ubuntu/Debian kerfum.

$ sudo a2enmod rewrite	[Ubuntu/Debian]

Fyrir CentOS/RHEL notendur, vertu viss um að þú hafir eftirfarandi línu í httpd.conf (mod_rewrite stuðningur - virkt sjálfgefið).

LoadModule rewrite_module modules/mod_rewrite.so

Nú þarftu bara að breyta eða búa til .htaccess skrá í rótarskrá lénsins og bæta þessum línum við til að beina http til https.

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

Nú, þegar gestur slær inn http://www.yourdomain.com mun þjónninn sjálfkrafa beina HTTP til HTTPS https://www.yourdomain.com.

Beindu HTTP til HTTPS á Apache Virtual Host

Að auki, til að þvinga alla vefumferð til að nota HTTPS, geturðu líka stillt sýndarhýsingarskrána þína. Venjulega eru tveir mikilvægir hlutar sýndarhýsilstillingar ef SSL vottorð er virkt; sú fyrsta inniheldur stillingar fyrir óörugga höfnina 80.

Annað er fyrir örugga höfnina 443. Til að beina HTTP til HTTPS fyrir allar síður vefsíðunnar þinnar skaltu fyrst opna viðeigandi sýndarhýsingarskrá. Breyttu því síðan með því að bæta við stillingunum hér að neðan.

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>

Vistaðu og lokaðu skránni og endurræstu síðan HTTP netþjóninn svona.

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

Þó að sé ráðlagðasta lausnin vegna þess að hún er einfaldari og öruggari.

Þú gætir viljað lesa þessar gagnlegu greinar um Apache HTTP netþjónsöryggisherðingu:

  1. 25 Gagnlegar Apache ‘.htaccess’ brellur til að tryggja og sérsníða vefsíður
  2. Hvernig á að vernda vefskrár með lykilorði í Apache með .htaccess skrá
  3. Hvernig á að fela Apache útgáfunúmer og aðrar viðkvæmar upplýsingar
  4. Verndaðu Apache gegn brute Force eða DDoS árásum með því að nota Mod_Security og Mod_evasive

Það er allt og sumt! Notaðu athugasemdareyðublaðið hér að neðan til að deila hugsunum varðandi þessa handbók. Og mundu að vera alltaf tengdur við linux-console.net.