Apache'de HTTP'yi HTTPS'ye Yönlendirme


HTTP (Köprü Metni Aktarım Protokolü), Dünya Çapında Ağ'da veri iletişimine yönelik hem popüler hem de temel bir protokoldür (WWW ); genellikle bir web tarayıcısı ile web dosyalarını saklayan sunucu arasında. HTTPS ise HTTP'nin güvenli sürümüdür; sondaki "S", "Güvenli" anlamına gelir.

HTTPS kullanıldığında, tarayıcınız ile web sunucusu arasındaki tüm veriler şifrelenir ve böylece güvenli olur. Bu eğitimde, Linux'taki Apache HTTP sunucusunda HTTP'yi HTTPS'ye nasıl yönlendireceğiniz gösterilecektir.

Alanınız için HTTPS yönlendirmesine yönelik bir Apache HTTP ayarlamadan önce, SSL sertifikanızın yüklü olduğundan ve mod_rewrite olduğundan emin olun. Strong> Apache'de etkindir. Apache'de SSL kurulumunun nasıl yapılacağı hakkında daha fazla bilgi için aşağıdaki kılavuzlara bakın.

  1. Apache için Kendinden İmzalı SSL Sertifikaları ve Anahtarları Nasıl Oluşturulur
  2. CentOS/RHEL 7'ye Let's Encrypt SSL Sertifikası Nasıl Kurulur
  3. Debian/Ubuntu'ya Let's Encrypt SSL Sertifikası Nasıl Kurulur?

.Htaccess Dosyasını Kullanarak Apache'de HTTP'yi HTTPS'ye Yönlendirin

Bu yöntem için mod_rewrite'ın etkin olduğundan emin olun, aksi takdirde Ubuntu/Debian sistemlerinde bu şekilde etkinleştirin.

sudo a2enmod rewrite	[Ubuntu/Debian]

CentOS/RHEL kullanıcıları için, httpd.conf'da aşağıdaki satırın bulunduğundan emin olun (mod_rewrite desteği – varsayılan olarak etkindir).

LoadModule rewrite_module modules/mod_rewrite.so

Artık alan adınızın kök dizininde .htaccess dosyasını düzenlemeniz veya oluşturmanız ve http'yi https'ye yönlendirmek için bu satırları eklemeniz yeterlidir.

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

Artık bir ziyaretçi http://www.alanadiniz.com yazdığında sunucu, HTTP'yi otomatik olarak HTTPS https://www.alanadiniz.com'a yönlendirecektir.

Apache Sanal Ana Bilgisayarında HTTP'yi HTTPS'ye Yönlendirin

Ayrıca, tüm web trafiğini HTTPS kullanmaya zorlamak için sanal ana makine dosyanızı da yapılandırabilirsiniz. Normalde, SSL sertifikası etkinleştirilmişse sanal ana bilgisayar yapılandırmalarının iki önemli bölümü vardır; ilki güvenli olmayan bağlantı noktası 80 için yapılandırmaları içerir.

İkincisi, 443 güvenli bağlantı noktası içindir. Web sitenizin tüm sayfalarında HTTP'yi HTTPS'ye yönlendirmek için önce uygun sanal ana makine dosyasını açın. Daha sonra aşağıdaki konfigürasyonu ekleyerek değiştirin.

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>

Dosyayı kaydedip kapatın, ardından HTTP sunucusunu bu şekilde yeniden başlatın.

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

daha basit ve daha güvenli olduğundan en çok önerilen çözümdür.

Apache HTTP sunucusu güvenliğini güçlendirmeye yönelik bu yararlı makale çeşitlerini okumak isteyebilirsiniz:

  1. Web Sitelerini Güvenli Hale Getirmek ve Özelleştirmek için 25 Faydalı Apache ‘.htaccess’ Püf Noktası
  2. Apache'de .htaccess Dosyasını Kullanarak Web Dizinlerini Parolayla Koruma
  3. Apache Sürüm Numarasını ve Diğer Hassas Bilgileri Gizleme
  4. Apache'yi Mod_Security ve Mod_evasive Kullanarak Kaba Kuvvet veya DDoS Saldırılarına Karşı Koruyun

Bu kadar! Bu kılavuzla ilgili düşüncelerinizi paylaşmak için aşağıdaki geri bildirim formunu kullanın. Ve her zaman linux-console.net'a bağlı kalmayı unutmayın.