
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.
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:

