1) Reverse Proxy Kurulumu (Nginx)
Reverse proxy, gelen trafiği arka uçtaki bir veya birden fazla sunucuya dağıtmanı sağlar. Web uygulamalarında en çok kullanılan modeldir.
A) Gerekli paketlerin kurulumu
B) Reverse Proxy Virtual Host yapılandırması
Örnek:api.domain.com gelen istekleri http://127.0.0.1:3000 adresindeki Node/PHP uygulamasına yönlendirecek.
İçerik:
Aktifleştir:
C) SSL (Let’s Encrypt) ekleme
Reverse proxy kurulumun tamamlandı.
2) Forward Proxy Kurulumu (Squid Proxy)
Forward proxy kullanıcıların internete çıkarken IP değiştirmesini sağlar. Kurulum Squid üzerinden yapılır.
A) Squid kurulumu
B) Squid yapılandırması
Konfigürasyon dosyasını aç:
Temel forward proxy yapılandırması:
Kaydet → çık → ardından:
Proxy test et:
3) Reverse Proxy’de Asıl Sunucu IP’si Görünür mü?
Hayır, reverse proxy modelinde istemciler doğrudan backend IP’sini göremez.
Backend tarafı (örneğin Node / PHP) ise X-Real-IP, X-Forwarded-For başlıkları sayesinde gerçek istemci IP’sini görebilir.
Eğer bu başlıkları kaldırırsan, backend yalnızca proxy IP’sini görür.
4) Proxy Çeşitleri Kısa Özet
| Tür | Ne işe yarar? | Nerede kullanılır? |
|---|---|---|
| Reverse Proxy | Trafiği backend’e yönlendirir, IP gizler | Web siteleri, API yönlendirmeleri |
| Forward Proxy | Kullanıcının çıkış IP’sini değiştirir | VPN-like kullanım, internet çıkışı kontrolü |
| Transparent Proxy | Kullanıcı fark etmeden trafiği dinler | Kurumsal ağlar |
| Load Balancer Proxy | Trafiği birden çok sunucuya dağıtır | Yük dağıtım sistemleri |
Aşağıda Cloudflare üzerinden tam reverse proxy konfigürasyonu için kurumsal seviyede hazırlanmış, uçtan uca eksiksiz bir kurulum rehberi bulacaksınız. Bu rehber hem gizli backend IP koruması, hem DDoS/WAF güvenliği, hem de SSL Termination + Full/Strict mod ile üretim için optimize edilmiştir.
1) Genel Mimari
Cloudflare Reverse Proxy mimarisi aşağıdaki gibidir:
Kullanıcı → Cloudflare Edge → (SSL Termination) → Nginx Reverse Proxy → Backend
Cloudflare, gerçek sunucunun IP adresini tamamen gizler ve trafiği süzer.
Nginx ise Cloudflare’den gelen trafiği backend’e yönlendirir.
2) Cloudflare DNS Ayarları
-
Cloudflare hesabınıza girin.
-
Domain seçin.
-
DNS menüsüne gelin.
-
Aşağıdaki şekilde DNS kaydı oluşturun:
| Type | Name | Value | Proxy Status |
|---|---|---|---|
| A | api | Sunucu_IP | Proxied (Turuncu Bulut) |
Turuncu bulut aktif proxy modudur.
Bu sayede gerçek IP tamamen gizlenir.
3) Cloudflare SSL/TLS Ayarları
Cloudflare → SSL/TLS → Overview
Aşağıdaki modu seçin:
Full (strict)
En güvenli mod:
Cloudflare ile sunucu arasında gerçek SSL sertifikası gerekir (Let’s Encrypt / Cloudflare Origin Certificate).
4) Origin Server’da SSL Sertifikası (Let’s Encrypt veya Cloudflare Origin)
Seçenek A – Let’s Encrypt Kurulumu
Seçenek B – Cloudflare Origin Certificate
(En iyi güvenlik + yalnızca Cloudflare üzerinden erişim)
Cloudflare → SSL/TLS → Origin Server → Create Certificate
30 yıl geçerli sertifika üretir.
Sunucuya kaydedin:
5) Sunucuda Cloudflare IP Whitelist (Yalnızca Cloudflare erişsin)
Gerçek kullanıcıların direkt sunucuya erişmesini engellemek için:
Cloudflare IP listesi indir:
Nginx konfigürasyonunda sadece Cloudflare IP’lerine izin ver:
Oluştur:
İçerik:
6) Cloudflare için Optimize Reverse Proxy Nginx Konfigürasyonu
İçerik:
Aktifleştir:
7) Backend IP’nin %100 Gizlenmesi
Cloudflare reverse proxy’de backend IP’nin görünmemesi için:
-
DNS’te turuncu bulut aktif olacak
-
Sunucuya direkt IP erişimini blokla:
-
Non-Cloudflare IP’leri tamamen engelle (adım 5’te yaptık)
-
Cloudflare Trace test:
Sonuçta aşağıdaki header’lar görünmeli:
Backend IP görünmez.
8) Cloudflare Güvenlik ve Performans Optimizasyonu
WAF Ayarları
Cloudflare → Security → WAF
-
Managed Rules: ON
-
Bot Fight Mode: ON
-
Rate Limiting Rules: istediğin endpoint için limit koyabilirim
Speed Ayarları
Cloudflare → Speed
-
Brotli: ON
-
HTTP/3: ON
-
Early Hints: ON
-
Polish (resim optimizasyonu): PRO plan gerekir
Cache Ayarları
Cloudflare → Caching
-
Caching Level: Standard
-
Browser Cache TTL: 1 hour
-
Edge Cache TTL: Edge Cache Rules ile özelleştirilebilir
Leave a Comment