Junior
Nginx ne için kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Nginx, yüksek performanslı asenkron bir web sunucusu ve ters proxy sunucusudur ve şu amaçlar için kullanılır:
- Statik dosyaların hizmeti: HTML, CSS, JavaScript, resimler ve diğer statik kaynakların hızlı ve verimli teslimi. Asenkron mimarisi sayesinde, düşük kaynak kullanımıyla çok sayıda eşzamanlı bağlantıyı işleyebilir.
- Ters proxy: Müşteri isteklerini bir veya birkaç arka uç sunucuya (uygulamalar, API'ler) iletmek ve yanıtları müşterilere geri göndermek. Bu, yük dengeleme, güvenliği artırma (ağ yapısını gizleme) ve SSL terminasyonu sağlar.
- Yük dengeleme: Gelen istekleri, uygulamanın kullanılabilirliğini ve ölçeklenebilirliğini artırmak için birden fazla sunucu arasında dağıtma. Farklı algoritmaları destekler (örneğin, round robin, en az bağlantı).
- Önbellekleme: Arka uç üzerindeki yükü azaltmak ve yanıt hızını artırmak için statik ve dinamik kaynakların önbelleğe alınması.
- SSL/TLS terminasyonu: HTTPS trafiğinin şifre çözme işlemi, arka uca iletilmeden önce, bu da uygulama sunucularındaki yükü azaltır ve sertifikaların merkezi yönetimini sağlar.
- Sıkıştırma: Veri sıkıştırma (örneğin, Gzip) ve bu veriyi müşteriye göndermeden önce, böylece trafik azaltılır ve sayfa yükleme hızları artar.
- İstek hız sınırlandırması: Belirli bir zaman diliminde, belirli bir müşteriden gelen istek sayısını sınırlandırarak arka uçları aşırı yüklenmeden koruma.
- Web uygulama güvenlik duvarı (WAF): Yaygın web saldırılarına karşı temel koruma (örneğin, SQL enjeksiyonları, XSS).
# Statik dosyaları hizmet etmek ve API proxy'si için Nginx yapılandırma örneği
server {
listen 80;
server_name example.com; # Alan adı
location / {
root /var/www/html; # Statik dosyaların yolu
index index.html;
}
location /api/ {
proxy_pass http://backend_server:8080; # API isteklerini başka bir sunucuya proxy yapma
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}