Blogchevron_rightSunucu Yönetimichevron_rightNginx Proxy Pass Rehberi: Yapılandırma ve Kullanım

Nginx Proxy Pass Rehberi: Yapılandırma ve Kullanım

S
Serversium
calendar_today12 Temmuz 2026
schedule5 dk okuma
Nginx Proxy Pass Rehberi: Yapılandırma ve Kullanım

Nginx Proxy Pass Nedir ve Nasıl Çalışır?

Nginx Proxy Pass, web sunucunuzun belirli istekleri farklı portlardaki backend servislere yönlendirmesini sağlayan güçlü bir ters vekil (reverse proxy) özelliğidir. Bu teknoloji, tek bir Nginx sunucusu üzerinden birden fazla servisi tek bir domain altında yayınlamanıza olanak tanır. Özellikle mikroservis mimarilerinde ve çoklu uygulama barındırma senaryolarında vazgeçilmez bir araç haline gelmiştir.

Statistics show that over 66% of web servers using reverse proxy configurations prefer Nginx for its performance and flexibility. Proxy pass özelliği, gelen HTTP/HTTPS isteklerini alır ve bunları yapılandırmanıza göre farklı portlardaki uygulamalara iletir.

Proxy Pass Temel Çalışma Mantığı

Proxy Pass mekanizması şu adımlarla çalışır:

  1. Client, Nginx sunucusuna bir istek gönderir
  2. Nginx, gelen isteği proxy_pass direktifi ile tanımlanan hedefe yönlendirir
  3. Backend sunucusu yanıtı Nginx'e iletir
  4. Nginx, bu yanıtı client'a geri gönderir

Bu süreç, Nginx trafik yönetimi açısından kritik öneme sahiptir ve performans optimizasyonları için temel oluşturur.

Nginx Proxy Pass Konfigürasyonu

Temel Proxy Pass Yapılandırması

Aşağıdaki örnek, 3000 portunda çalışan bir Node.js uygulamasını proxy pass ile yayınlamayı gösterir:

server {
    listen 80;
    server_name example.com;

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

Bu konfigürasyon, example.com adresine gelen tüm istekleri 3000 portundaki uygulamaya yönlendirir. Güvenlik politikaları açısından header ayarları kritik öneme sahiptir.

Birden Fazla Servisi Farklı Path' lere Yönlendirme

Tek bir Nginx sunucusu üzerinden birden fazla servisi farklı URL path'leri üzerinden yayınlamak mümkündür:

server {
    listen 80;
    server_name example.com;

    # Node.js API servisi
    location /api/ {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
    }

    # Python Flask uygulaması
    location /admin/ {
        proxy_pass http://localhost:5000;
    }

    # Statik dosya sunucusu
    location /files/ {
        proxy_pass http://localhost:8080;
    }
}

Farklı Portlardaki Servisleri Aynı Domain Altında Yayınlama

Gerçek dünya senaryolarında, farklı portlarda çalışan birçok servisi tek bir domain altında birleştirmek yaygın bir ihtiyaçtır. Aşağıdaki tablo bu yapılandırmayı özetlemektedir:

Servis Port URL Path Kullanım Amacı
React Frontend 3000 / Kullanıcı arayüzü
Node.js API 4000 /api/ RESTful API
Python ML Servisi 5000 /ml/ Makine öğrenimi
İzleme Paneli 9090 /monitor/ Prometheus/Grafana

Bu yapılandırma, Docker Swarm mimarilerinde yaygın olarak kullanılır.

Proxy Pass Header Yönetimi

Önemli Proxy Header'ları

Backend uygulamaların doğru çalışması için aşağıdaki header'ların ayarlanması şiddetle tavsiye edilir:

  • Host: Orijinal host bilgisini backend'e iletir
  • X-Real-IP: Client'in gerçek IP adresini taşır
  • X-Forwarded-For: Zincir halindeki proxy'lerde tüm IP'leri listeler
  • X-Forwarded-Proto: Kullanılan protokolü (http/https) belirtir

WebSocket Desteği için Proxy Yapılandırması

Gerçek zamanlı uygulamalar için WebSocket desteği eklenmelidir:

location /ws/ {
    proxy_pass http://localhost:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
}

Bu yapılandırma, Ghost blog kurulumu gibi gerçek zamanlı içerik yönetim sistemlerinde gereklidir.

Güvenlik Yapılandırması

SSL/TLS ile Proxy Pass Kullanımı

Güvenli iletişim için HTTPS yapılandırması şu şekilde yapılır:

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;

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

Bu yapılandırma, sunucu şifreleme ve veri koruma açısından temel güvenlik önlemlerinden biridir.

Erişim Kontrolü

Belirli IP adreslerine erişim kısıtlaması uygulanabilir:

location /admin/ {
    proxy_pass http://localhost:5000;
    allow 192.168.1.0/24;
    allow 10.0.0.0/8;
    deny all;
}

Detaylı erişim kontrolü için sunucu erişim kontrolü rehberimizi inceleyebilirsiniz.

Yaygın Hatalar ve Çözümleri

Port Erişilebilirlik Kontrolü

Proxy pass hatalarının en yaygın nedeni backend servisinin çalışmamasıdır. Öncelikle port kontrolü yapılmalıdır:

# Port durumunu kontrol etme
netstat -tlnp | grep LISTEN
ss -tlnp | grep LISTEN

Yaygın Hata Kodları ve Anlamları

Hata Kodu Anlamı Çözüm
502 Bad Gateway Backend servise ulaşılamıyor Port ve servis durumunu kontrol edin
504 Gateway Timeout Backend yanıt vermiyor Backend performansını artırın veya timeout süresini uzatın
111 Connection Refused Port dinlenmiyor Servisin çalıştığını doğrulayın

Detaylı hata yönetimi için Nginx hata yönetimi rehberimize göz atın.

Performance Optimizasyonu

Buffer ve Timeout Ayarları

Performans için buffer yapılandırması önemlidir:

location / {
    proxy_pass http://localhost:3000;
    proxy_buffering on;
    proxy_buffer_size 4k;
    proxy_buffers 8 4k;
    proxy_connect_timeout 60s;
    proxy_send_timeout 60s;
    proxy_read_timeout 60s;
}

Bu ayarlar, yoğun trafikli ortamlarda sunucu performans testi sırasında kritik önem taşır.

Load Balancing ile Proxy Pass

Yüksek erişilebilirlik için birden fazla backend sunucusu kullanılabilir:

upstream backend_servers {
    least_conn;
    server localhost:3001;
    server localhost:3002;
    server localhost:3003;
}

server {
    location / {
        proxy_pass http://backend_servers;
    }
}

Pratik Kullanım Senaryoları

Geliştirme Ortamı Kurulumu

Modern geliştirme ortamlarında, farklı teknolojiler kullanan servisleri tek bir sunucu üzerinden yayınlamak yaygın bir ihtiyaçtır. Örneğin:

  1. React uygulaması (port 3000)
  2. Node.js API (port 4000)
  3. Veritabanı yönetim arayüzü (port 8080)
  4. Redis cache arayüzü (port 8081)

Bu yapılandırma, KodBox gibi dosya yönetim sistemlerinde de kullanılabilir.

Kurumsal Kullanım Örneği

Kurumsal ortamlarda, kurumsal e-posta sistemleri ve içerik yönetim sistemleri için proxy pass kullanımı yaygındır. Örneğin, e-posta web arayüzü farklı bir portta çalışırken, ana web sitesi farklı bir port üzerinden sunulabilir.

Sonuç ve En İyi Uygulamalar

Nginx Proxy Pass, modern web mimarisinin temel yapı taşlarından biridir. Doğru yapılandırıldığında, tek bir sunucu üzerinden birden fazla servisi güvenli ve performanslı bir şekilde yayınlayabilirsiniz. En iyi uygulamalar arasında her zaman uygun header ayarları yapmak, güvenlik önlemlerini ihmal etmemek ve düzenli performans izlemesi yapmak yer alır.

Yüksek trafikli ortamlarda DDoS koruma hizmetlerimizle birlikte kullanım, maksimum güvenlik ve erişilebilirlik sağlar. Sunucu altyapınızı güçlendirmek için sistem politikalarımızı inceleyebilirsiniz.

library_booksBenzer İçerikler

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber
Sunucu Yönetimi
calendar_today5 Nisan 2026
schedule5 dk

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber

Cloud sunucular, dinamik kaynak dağıtımıyla işletmelerin kesintisiz büyümesini sağlar. Avantajlardan karşılaştırmalara tüm detaylar bu rehberde yer alıyor.

S
Serversiumarrow_forward
Linux vs Windows Sunucu: Hangisi Projeye Uygun?
Sunucu Yönetimi
calendar_today6 Nisan 2026
schedule5 dk

Linux vs Windows Sunucu: Hangisi Projeye Uygun?

Linux ve Windows Sunucu arasındaki teknik farkları, maliyet avantajlarını ve proje uyumluluğunu detaylı olarak karşılaştırıyoruz. Yazılım stack'inize en uygun işletim sistemini seçmek için kapsamlı rehberimizle doğru altyapı kararını verin.

S
Serversiumarrow_forward
Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber
Sunucu Yönetimi
calendar_today16 Nisan 2026
schedule5 dk

Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber

Ubuntu 24 üzerinde Plesk kurulumunu adım adım öğrenin. Bu rehberde sistem gereksinimleri, kurulum adımları ve temel yapılandırma ayarlarını bulabilirsiniz.

S
Serversiumarrow_forward