Web Uygulamanız İçin Nginx ile Yük Dengelemesi ve SSL Sertifikası

Web Uygulamanız İçin Nginx ile Yük Dengelemesi ve SSL Sertifikası

Günümüzde, birbirine bağlı bir dünyada web hizmetlerinin güvenliği ve optimizasyonu büyük önem taşıyor. Bu amaçla, Nginx’i ters proxy olarak kullanmak, gelen istekleri verimli bir şekilde yönetmek, trafiği birden fazla arka uç sunucusu arasında dengelemek ve iletişimi SSL sertifikası ile güvence altına almak için yaygın bir yaklaşımdır. Bu kılavuz, bu sağlam yapılandırmayı sağlamak için gereken adımları sizinle paylaşacak.

Gereksinimler

Yapılandırmaya başlamadan önce, aşağıdaki gereksinimlerin sağlandığından emin olun:

  • Sunucunuzun IP adresine yönlendirilmiş bir alan adı.
  • Sunucunuzda Nginx kurulu olmalı.
  • Sunucu yönetimi ve terminal kullanımı hakkında temel bilgi.

Adım 1: Nginx’i Kurun

Eğer Nginx kurulu değilse, sunucunuzun paket yöneticisi ile kurulum yapabilirsiniz. Ubuntu için aşağıdaki komutları çalıştırın:

$ sudo apt update
$ sudo apt install nginx

Adım 2: Yük Dengeleme İçin Arka Uç Sunucuları Yapılandırın

Gelen istekleri birden fazla arka uç sunucusu arasında dağıtmak için Nginx yapılandırmasında arka uç sunucularını tanımlayın. Örneğin, uygulamanızın 3000 ve 3001 numaralı portlarda çalışan iki arka uç sunucusu olduğunu varsayalım. Nginx yapılandırma dosyasını açın:

$ sudo nano /etc/nginx/nginx.conf

HTTP bloğu içinde aşağıdaki arka uç bloğunu ekleyin:

http {
    upstream backend {
        server localhost:3000;
        server localhost:3001;
    }

    # Diğer yapılandırmalar...
}

Adım 3: Nginx’i Ters Proxy Olarak Yapılandırın

Alan adınız için /etc/nginx/sites-available/ dizininde yeni bir yapılandırma dosyası oluşturun:

$ sudo nano /etc/nginx/sites-available/yourapp

Nginx’i ters proxy olarak yapılandırın ve trafiği arka uç sunucuları arasında dağıtın:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Adım 4: Yapılandırmayı Etkinleştirin

Yapılandırmayı etkinleştirmek için sembolik bir bağlantı oluşturun:

$ sudo ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled/

Adım 5: Nginx Yapılandırmasını Test Edin

Nginx yapılandırmanızda sözdizim hatası olmadığından emin olun:

$ sudo nginx -t

Her şey yolundaysa, Nginx’i yeniden yükleyin:

$ sudo systemctl reload nginx

Adım 6: Certbot’u Kurun ve SSL Sertifikası Alın

Certbot, SSL sertifikalarını almak ve yenilemek için süreci otomatikleştirir. Certbot’u kurun ve alan adınız için SSL sertifikası alın:

$ sudo apt install certbot python3-certbot-nginx
$ sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Adım 7: SSL Yapılandırmasını Doğrulayın

Web sitenizin HTTPS üzerinden erişilebilir olduğundan ve SSL sertifikasının doğru bir şekilde yapılandırıldığından emin olun.

Adım 8: Otomatik Sertifika Yenileme

Certbot, otomatik sertifika yenileme için bir cron görevi ayarlar. Bunu kontrol etmek için crontab’ı gözden geçirin:

$ sudo crontab -l

Adım 9: Yük Dengelemeyi İzleyin

Erişim günlüklerini ve sunucu performansını kontrol ederek yük dengelemesini izleyebilirsiniz. Ayrıca, gerektiğinde Nginx’in farklı yük dengeleme algoritmalarını kullanacak şekilde yapılandırabilirsiniz.

Tebrikler! Nginx’i ters proxy olarak yük dengelemesiyle birlikte başarıyla kurdunuz ve Certbot kullanarak SSL sertifikası aldınız. Web uygulamanız artık HTTPS üzerinden güvenli bir şekilde erişilebilir ve daha iyi performans ile güvenilirlik için birden fazla arka uç sunucusu arasında dağıtılmış durumda.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir