Web Sunucu 27.06.2026

Nginx ve Apache Ters Proxy (Reverse Proxy) Kurulumu

Nginx ve Apache Ters Proxy (Reverse Proxy) Kurulumu

Nginx ve Apache neden birlikte kullanılmalıdır?

Web sunucusu dünyasında Apache ve Nginx en popüler iki teknolojidir. Apache, esnek yapısı, `.htaccess` desteği ve modül zenginliğiyle bilinirken; Nginx ise statik dosyaları (görsel, CSS, JS) inanılmaz hızlı işleme kapasitesi ve düşük bellek tüketimiyle öne çıkar. Her iki sunucunun da en güçlü yanlarını birleştirmek için **Nginx ters proxy (reverse proxy)** mimarisi kullanılır.

Bu yapıda Nginx ön planda (port 80/443) çalışarak gelen tüm istekleri karşılar. Statik istekleri doğrudan kendisi sunarken, dinamik PHP isteklerini arka planda çalışan Apache web sunucusuna (port 8080 gibi) yönlendirir. Bu sayede VDS sunucu kaynak tüketimi ciddi oranda düşer ve site hızı katlanır.

Adım adım Nginx ve Apache ters proxy kurulumu

Linux (Ubuntu/Debian) üzerinde bu yapıyı kurmak için SSH ile bağlanıp şu adımları izleyin:

1. Web sunucularını yükleyin

Öncelikle hem Apache hem de Nginx paketlerini sunucunuza kurun:

sudo apt update
sudo apt install apache2 nginx -y

2. Apache portunu değiştirin

Nginx 80 numaralı varsayılan HTTP portunu kullanacağı için Apache'nin portunu 8080 olarak değiştirmeliyiz. `/etc/apache2/ports.conf` dosyasını açın:

sudo nano /etc/apache2/ports.conf

Listen 80 satırını bulup Listen 8080 olarak güncelleyin ve kaydedin. Ardından sanal ana bilgisayar (virtual host) tanımlarınızı barındıran `/etc/apache2/sites-available/000-default.conf` dosyasındaki portu da 8080 olarak değiştirin:

<VirtualHost *:8080>

Apache servisini yeniden başlatarak portu güncelleyin:

sudo systemctl restart apache2

3. Nginx ters proxy yapılandırması

Nginx'in gelen istekleri Apache'ye aktarması için bir yapılandırma dosyası oluşturmalıyız:

sudo nano /etc/nginx/sites-available/reverse-proxy

Dosya içerisine şu kodları ekleyin:

server {
    listen 80;
    server_name domaininiz.com www.domaininiz.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        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;
    }
}

Yapılandırmayı aktif edin ve Nginx'i test edip yeniden başlatın:

sudo ln -s /etc/nginx/sites-available/reverse-proxy /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Sık sorulan sorular

.htaccess dosyaları ters proxy yapısında çalışmaya devam eder mi?

Evet, dinamik istekler arka planda Apache tarafından işlendiği için `.htaccess` kurallarınız (örneğin WordPress kalıcı bağlantı ayarları) sorunsuz çalışmaya devam eder.

Bu yapı SSL sertifikası (HTTPS) ile uyumlu mudur?

Evet, SSL sertifikasını ön planda çalışan Nginx üzerine kurmalısınız. Nginx istekleri güvenli bir şekilde karşılayıp, arka plandaki Apache'ye şifrelenmemiş yerel bağlantı üzerinden aktarır.

QBilisim.Com

IRCd, hosting ve sunucu operasyonunu tek yerden yönet.

Kurulum, taşıma, DNS, SSL, applet ve destek süreçleri için müşteri panelinden talep oluşturabilirsin.