Linux için HTTP’den HTTPS’ye yönlendirme
Web sitenizi HTTPS ile güvence altına almak, kullanıcı verilerini korumak ve SEO sıralamalarını iyileştirmek için gereklidir. Tüm trafiği HTTP’den HTTPS’ye yönlendirmek, kullanıcıların sitenizin güvenli sürümüne erişmesini sağlar. Bu kılavuz, bir Linux sunucusunda HTTP’den HTTPS’ye yönlendirme ayarlama sürecinde size rehberlik edecektir.
1. HTTP ve HTTPS’i Anlamak
- HTTP (Hypertext Transfer Protocol): İnternet üzerinden veri iletimi için standart protokol. Güvenli değildir, yani HTTP üzerinden gönderilen veriler saldırganlar tarafından ele geçirilebilir.
- HTTPS (HTTP Secure): İstemci ve sunucu arasında iletilen verileri güvence altına almak için SSL/TLS şifrelemesi kullanan HTTP’nin bir uzantısı. Bu, oturum açma kimlik bilgileri ve ödeme detayları gibi hassas bilgilerin şifrelenmiş ve güvenli olmasını sağlar.
2. SSL Sertifikası Kurulumu
Bu örnekte, Let’s Encrypt kullandığınızı varsayıyoruz. Eğer henüz SSL kurmadıysanız, bu adımları izleyin:
Adım 1: Certbot’u Kurun
Certbot, Let’s Encrypt’ten SSL sertifikaları alma ve yenileme sürecini otomatikleştiren bir araçtır.
sudo apt update sudoapt install certbot python3-certbot-nginxAdım 2: SSL Sertifikası Alın
SSL sertifikanızı otomatik olarak almak ve yapılandırmak için Certbot’u çalıştırın:
sudo certbot --nginxSSL sertifikanızı ayarlamak için yönergeleri izleyin. Certbot, Nginx’i HTTPS kullanacak şekilde otomatik olarak yapılandıracaktır.
3. HTTP’den HTTPS’ye Yönlendirme
SSL sertifikanızı kurduktan sonra, Nginx’i HTTP trafiğini HTTPS’ye yönlendirecek şekilde yapılandırmanız gerekir.
Adım 1: Nginx Yapılandırma Dosyasını Açın
Web siteniz için Nginx yapılandırma dosyasını açın, genellikle /etc/nginx/sites-available/ içinde bulunur. Dosyayı açmak için tercih ettiğiniz metin düzenleyicisini kullanın. Örneğin:
sudo nano /etc/nginx/sites-available/example.comAdım 2: Yönlendirme Kuralı Ekleyin
HTTP trafiğini dinleyen sunucu bloğuna (genellikle 80 numaralı portta) tüm istekleri HTTPS’ye yönlendirmek için bir yönlendirme kuralı ekleyin. Yapılandırmanızın şöyle görünmesi gerekir:
server {
listen 80;
server_name example.com www.example.com;
# Redirect all HTTP requests to HTTPS
return 301 https://$host$request_uri;
}Bu yapılandırma, Nginx’e sitenizin HTTP sürümüne gelen tüm trafiği HTTPS sürümüne yönlendirmesini söyler.
4. Yapılandırmanızı Test Etme
Adım 1: Nginx Yapılandırmasını Test Edin
Nginx’i yeniden yüklemeden önce, yapılandırmayı sözdizimi hataları için test edin:
sudo nginx -tYapılandırmanın doğru olduğunu belirten bir mesaj görmelisiniz.
Adım 2: Nginx’i Yeniden Yükleyin
Yapılandırmanızı uygulamak için Nginx sunucusunu yeniden yükleyin:
sudo systemctl reload nginx5. Yönlendirmeyi Doğrulama
Yönlendirmenin doğru çalıştığından emin olmak için:
- Bir web tarayıcısını açın ve http://example.com adresine gidin.
- Sizi otomatik olarak https://example.com adresine yönlendirdiğini doğrulayın.
- Ayrıca yönlendirmeyi test etmek için curl gibi komut satırı araçlarını kullanabilirsiniz:
curl -I http://example.comHTTPS URL’sine işaret eden Location başlığı ile birlikte 301 Moved Permanently yanıtını görmelisiniz.
6. Sonuç
Nginx kullanarak Linux sunucunuzda HTTP’den HTTPS’ye yönlendirme yapmak, güvenliği artıran ve kullanıcı güvenini geliştiren basit bir süreçtir. Bu kılavuzda belirtilen adımları izleyerek, sitenize gelen tüm trafiğin güvenli olmasını sağlayan otomatik bir yönlendirme ayarlayabilirsiniz. SSL sertifikanızın geçerliliğini düzenli olarak kontrol edin ve güvenli bir bağlantı sağlamak için gerektiğinde yenileyin.
