Buyukweb
Nginx Reverse Proxy: Yapılandırma, SSL ve Yük Dengeleme

Nginx Reverse Proxy: Yapılandırma, SSL ve Yük Dengeleme

Nginx'i reverse proxy olarak yapılandırmayı, SSL/TLS termination, upstream sunucular ve yük dengeleme stratejilerini öğrenin.

Büyükweb Teknik Ekibi13 Kasım 20257 dakika okuma

Nginx Reverse Proxy: Yapılandırma, SSL ve Yük Dengeleme

Nginx, dünyanın en yaygın kullanılan web sunucusu ve reverse proxy çözümüdür. Bu rehberde Nginx'i gelişmiş reverse proxy olarak nasıl yapılandıracağınızı öğreneceksiniz.

Nginx Kurulumu

# Ubuntu/Debian
apt update && apt install nginx -y

# CentOS/RHEL
yum install epel-release -y
yum install nginx -y

# Nginx sürüm ve modülleri
nginx -v
nginx -V 2>&1 | grep --color -E "configure|--with"

# Temel komutlar
systemctl start nginx
systemctl enable nginx
systemctl reload nginx    # Yapılandırmayı yeniden yükle
nginx -t                  # Sözdizimi kontrolü

Temel Reverse Proxy Yapılandırması

# /etc/nginx/sites-available/app.buyukweb.com

upstream backend {
    server 127.0.0.1:3000;
    server 127.0.0.1:3001;
}

server {
    listen 80;
    server_name app.buyukweb.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name app.buyukweb.com;

    # SSL sertifikaları
    ssl_certificate     /etc/letsencrypt/live/app.buyukweb.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/app.buyukweb.com/privkey.pem;

    # SSL güvenlik ayarları
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    # HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    # Güvenlik başlıkları
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header Referrer-Policy strict-origin-when-cross-origin;

    location / {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        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;
        proxy_cache_bypass $http_upgrade;

        # Zaman aşımı ayarları
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
}

Yük Dengeleme Stratejileri

# Round Robin (varsayılan)
upstream backend_rr {
    server 10.0.0.1:3000;
    server 10.0.0.2:3000;
    server 10.0.0.3:3000;
}

# En az bağlantı (least_conn)
upstream backend_lc {
    least_conn;
    server 10.0.0.1:3000;
    server 10.0.0.2:3000;
    server 10.0.0.3:3000;
}

# IP Hash (oturum kalıcılığı)
upstream backend_ip {
    ip_hash;
    server 10.0.0.1:3000;
    server 10.0.0.2:3000;
    server 10.0.0.3:3000;
}

# Ağırlıklı (weighted)
upstream backend_weighted {
    server 10.0.0.1:3000 weight=5;  # %50 trafik
    server 10.0.0.2:3000 weight=3;  # %30 trafik
    server 10.0.0.3:3000 weight=2;  # %20 trafik
}

# Sağlık kontrolü ile
upstream backend_health {
    server 10.0.0.1:3000;
    server 10.0.0.2:3000 backup;    # Yedek sunucu
    server 10.0.0.3:3000 down;      # Devre dışı

    # Pasif sağlık kontrolü
    server 10.0.0.4:3000 max_fails=3 fail_timeout=30s;
}

Nginx Cache Yapılandırması

# /etc/nginx/nginx.conf - proxy_cache_path tanımı
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m
                 max_size=1g inactive=60m use_temp_path=off;

# Site yapılandırması
server {
    location / {
        proxy_pass http://backend;
        proxy_cache cache_zone;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 1;
        proxy_cache_use_stale error timeout updating;
        proxy_cache_background_update on;
        proxy_cache_lock on;

        # Cache süresi
        proxy_cache_valid 200 301 302 10m;
        proxy_cache_valid 404 1m;

        # Cache durumunu başlığa ekle
        add_header X-Cache-Status $upstream_cache_status;

        # Cache'i atla (POST, auth, cookie)
        proxy_cache_bypass $http_pragma $http_authorization;
        proxy_no_cache $http_pragma $http_authorization;
    }

    # Statik dosyalar için cache
    location ~* .(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
        proxy_pass http://backend;
    }
}

Rate Limiting

# /etc/nginx/nginx.conf içinde
http {
    # İstek sınırlama zone'ları
    limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
    limit_req_zone $binary_remote_addr zone=api:10m rate=60r/m;
    limit_req_zone $binary_remote_addr zone=general:10m rate=120r/m;

    # Bağlantı sınırlama
    limit_conn_zone $binary_remote_addr zone=addr:10m;
}

server {
    # Giriş sayfası - dakikada 5 istek
    location /api/login {
        limit_req zone=login burst=3 nodelay;
        limit_req_status 429;
        proxy_pass http://backend;
    }

    # API - dakikada 60 istek
    location /api/ {
        limit_req zone=api burst=20 nodelay;
        limit_conn addr 10;
        proxy_pass http://backend;
    }

    # Genel - dakikada 120 istek
    location / {
        limit_req zone=general burst=50;
        proxy_pass http://backend;
    }
}

WebSocket Desteği

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    location /ws/ {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $host;
        proxy_read_timeout 86400s;  # 24 saat (WebSocket için)
        proxy_send_timeout 86400s;
    }
}

Nginx Performans Optimizasyonu

# /etc/nginx/nginx.conf
worker_processes auto;              # CPU sayısına göre
worker_rlimit_nofile 65535;

events {
    worker_connections 4096;
    use epoll;                      # Linux için verimli I/O
    multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    keepalive_requests 1000;

    # Gzip sıkıştırma
    gzip on;
    gzip_vary on;
    gzip_min_length 1024;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json
               application/javascript text/xml application/xml
               text/javascript image/svg+xml;

    # Buffer ayarları
    client_body_buffer_size 16k;
    client_max_body_size 100m;
    client_header_buffer_size 1k;
    large_client_header_buffers 4 8k;
}

Sonuç

Nginx reverse proxy, modern web altyapısının temel taşlarından biridir. SSL termination, yük dengeleme, cache ve rate limiting özellikleriyle uygulamalarınızı daha güvenli, hızlı ve ölçeklenebilir hale getirir. Buyukweb VDS ve dedicated sunucu hizmetlerinde Nginx en iyi yapılandırmalar ile gelir.


Ag Yonetimi ve Sorun Giderme

DNS

A, AAAA, CNAME, MX, TXT kayitlarini yapilandirin. TTL ayarlayin. DNSSEC ile spoofing koruması. Yedekli DNS kullanin.

Performans Olcumu

iperf3 bant genisligi, mtr traceroute, ping gecikme, dig DNS analizi. Smokeping ile uzun vadeli izleme.

Load Balancing

HAProxy/Nginx ile trafik dagitimi. Health check ile ariza tespiti. Round-robin veya least connections algoritmasi.

VPN

WireGuard minimal ve hizli. OpenVPN genis platform destegi. Site-to-site VPN ile lokasyonlari baglayin.

DDoS Koruma

L3/L4: rate limiting, SYN cookie. L7: WAF, CAPTCHA, JS challenge. Buyukweb L3-L7 koruma sunar.

IPv6

Dual-stack yapilandirma ile IPv4 ve IPv6 birlikte. IPv4 tukeniyor, IPv6 gecisi kacinilmaz.

Sik Sorulan Sorular

Ping atamiyorum ne yapmaliyim?

ICMP engellenebilir. Port bazli test yapin. DNS kontrol edin.

DNS degisikligi ne zaman yayilir?

TTL'e bagli. Dusuk TTL (300s) ile 5-10 dakika. Degisiklik oncesi TTL dusurmenizi oneririz.

Sonuc

Ag altyapisi dijital hizmetlerin temelidir. DNS, guvenlik ve performans ile kesintisiz hizmet sunun.

Ag Sorun Giderme Adimlari

1. Fiziksel Katman

Kablo baglantilari, switch portlari ve NIC durumu kontrol edin.

2. IP Katmani

ip addr ile IP yapilandirmasi, ip route ile yonlendirme tablosu kontrol edin.

3. DNS Katmani

dig veya nslookup ile DNS cozumlemesi test edin.

4. Uygulama Katmani

curl ile HTTP yanit kodlari, telnet ile port erisimi kontrol edin.

Ag Guvenlik Kontrol Listesi

  • Guvenlik duvari kurallari minimize
  • IDS/IPS aktif (Snort, Suricata)
  • VPN ile uzaktan erisim
  • Ag segmentasyonu (VLAN)
  • Port security yapilandirmasi
  • Trafik izleme ve analiz
  • Duzenli guvenlik taramasi

Bant Genisligi Hesaplama

Ortalama sayfa boyutu x gunluk ziyaretci x sayfa/ziyaret = gunluk trafik. Guvenlik marji %50 ekleyin. Buyukweb 1 Gbps paylasımsız port sunar.

Neden Buyukweb?

Buyukweb, 2009 yilindan bu yana Turkiye'nin guvenilir hosting firmasidir. Bursa Pendc Tier 3 veri merkezinde profesyonel barindirma hizmetleri sunmaktadir.

Teknik Altyapi Avantajlari

  • NVMe SSD Diskler: Geleneksel disklere gore 10x daha hizli okuma/yazma
  • LiteSpeed Web Server: Apache'ye kiyasla 10x performans artisi
  • CloudLinux Izolasyonu: Her hesap icin ayri kaynak limiti
  • Imunify360 Guvenlik: Otomatik malware tarama ve engelleme
  • DDoS Korumasi: L3, L4, L7 katmanlarinda kapsamli koruma

Musteri Memnuniyeti

5.200'den fazla aktif musteri ile %99.8 uptime garantisi sunuyoruz. 7/24 Turkce teknik destek ekibimiz tum sorulariniza hizla yanit verir. Ucretsiz site tasima hizmeti ile mevcut hosting saglayicinizdan kolayca gecis yapabilirsiniz.

Fiyat-Performans Dengesi

Rekabetci fiyatlarla profesyonel hosting altyapisi sunuyoruz. Yillik odemede ek indirimler, ucretsiz SSL sertifikasi ve gunluk otomatik yedekleme tum paketlerde standarttir.

Kolay Yonetim

cPanel ve Plesk kontrol panelleri ile web sitenizi, e-postalarinizi ve veritabaninizi tek panelden kolayca yonetin. Softaculous ile 400'den fazla uygulamayi tek tikla kurun.

Hosting Sektoru ve Gelecek Trendleri

Dijitallesme ile birlikte hosting sektoru hizla donusuyor. Edge computing, serverless mimariler ve container teknolojileri geleneksel hosting yaklasimlarini tamamliyor. Ancak guvenilir bir fiziksel altyapi her zaman temel gereksinim olmaya devam edecek.

Yapay Zeka ve Hosting

AI destekli guvenlik sistemleri, otomatik optimizasyon araclari ve akilli izleme cozumleri hosting kalitesini artiriyor. Imunify360 gibi AI tabanli guvenlik yazilimlari, saldiri kaliplarini ogrenererek proaktif koruma sagliyor.

Surdurulebilir Hosting

Yesil enerji kullanan veri merkezleri, enerji verimli sunucular ve karbon notr barindirma hizmetleri gelecekte daha onemli hale gelecek. Verimli donanim ve akilli sogutma sistemleri ile enerji maliyetleri azaltiliyor.

5G ve Mobil Oncelik

5G teknolojisinin yayginlasmasi ile mobil trafik daha da artacak. Mobile-first hosting cozumleri, edge caching ve AMP destegi onemini koruyacak. Web sitelerinin mobilde 2 saniyenin altinda yuklenmesi standart beklenti haline geliyor.

Etiketler:

#nginx#reverse proxy#ssl#yük dengeleme#cache#web sunucu

Bu yazıyı paylaş