Giunsa ang Pag-redirect sa HTTP sa HTTPS sa Apache


Ang HTTP (Hyper Text Transfer Protocol) usa ka popular ingon man ang sukaranan nga protocol alang sa komunikasyon sa datos sa World Wide Web (WWW); kasagaran tali sa usa ka web browser ug sa server nga nagtipig sa mga web file. Samtang ang HTTPS mao ang luwas nga bersyon sa HTTP, diin ang 'S' sa katapusan nagpasabut nga 'Secure'.

Gamit ang HTTPS, ang tanan nga datos tali sa imong browser ug sa web server gi-encrypt sa ingon luwas. Kini nga panudlo magpakita kanimo kung giunsa ang pag-redirect sa HTTP sa HTTPS sa Apache HTTP server sa Linux.

Sa dili pa nimo ma-set up ang Apache HTTP ngadto sa HTTPS nga redirect para sa imong domain, siguroha nga ikaw adunay SSL certificate nga na-install ug ang mod_rewrite gi-enable sa Apache. Para sa dugang nga impormasyon kon unsaon pag-setup sa SSL sa Apache, tan-awa ang mosunod nga mga giya.

  1. Unsaon Paghimo sa Kaugalingong Gipirmahan nga mga Sertipiko ug mga Yawe sa SSL para sa Apache
  2. Unsaon Pag-install Let's Encrypt SSL Certificate sa CentOS/RHEL 7
  3. Unsaon Pag-install Let's Encrypt SSL Certificate sa Debian/Ubuntu

I-redirect ang HTTP sa HTTPS sa Apache Gamit ang .htaccess File

Alang niini nga pamaagi, siguroha nga ang mod_rewrite gipagana, kung dili mahimo kini nga sama niini sa mga sistema sa Ubuntu/Debian.

$ sudo a2enmod rewrite	[Ubuntu/Debian]

Alang sa mga tiggamit sa CentOS/RHEL, siguroha nga naa nimo ang mosunod nga linya sa httpd.conf (mod_rewrite nga suporta – gi-enable pinaagi sa default).

LoadModule rewrite_module modules/mod_rewrite.so

Karon kinahanglan ka lang mag-edit o maghimo og .htaccess file sa imong domain root directory ug idugang kini nga mga linya aron ma-redirect ang http sa https.

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

Karon, kung ang usa ka bisita mag-type http://www.yourdomain.com ang server awtomatik nga mag-redirect sa HTTP sa HTTPS https://www.yourdomain.com.

I-redirect ang HTTP sa HTTPS sa Apache Virtual Host

Dugang pa, aron mapugos ang tanan nga trapiko sa web sa paggamit sa HTTPS, mahimo usab nimo i-configure ang imong virtual host file. Kasagaran, adunay duha ka importante nga mga seksyon sa usa ka virtual host configurations kon ang usa ka SSL certificate mao ang makahimo; ang una adunay mga configuration alang sa dili luwas nga pantalan 80.

Ang ikaduha alang sa luwas nga pantalan 443. Aron i-redirect ang HTTP sa HTTPS alang sa tanan nga mga panid sa imong website, ablihi una ang angay nga virtual host file. Dayon usba kini pinaagi sa pagdugang sa configuration sa ubos.

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>

I-save ug isira ang file, dayon i-restart ang HTTP sever nga sama niini.

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

Samtang ang mao ang labing girekomenda nga solusyon tungod kay kini mas simple ug mas luwas.

Mahimo nimong basahon kining mga mapuslanong klase sa Apache HTTP server security hardening articles:

  1. 25 Mapuslanon nga Apache '.htaccess' Tricks sa Pagsiguro ug Pag-customize sa mga Website
  2. Sa Unsang Paagi Pagpanalipod sa mga Direktoryo sa Web sa Apache Gamit ang .htaccess File
  3. Unsaon Pagtago sa Numero sa Bersyon sa Apache ug Uban pang Sensitibong Impormasyon
  4. Panalipod sa Apache Batok sa Brute Force o DDoS Attacks Gamit ang Mod_Security ug Mod_evasive

Kana lang! Aron ipaambit ang bisan unsang mga hunahuna bahin niini nga giya, gamita ang porma sa feedback sa ubos. Ug hinumdomi nga kanunay magpabilin nga konektado sa linux-console.net.