Makale Başlıkları
Reverse proxy (ters proxy), istemcilerden gelen istekleri alıp arka plandaki uygulama sunucularına ileten ve yanıtı geri döndüren bir ara katmandır. Tek bir giriş noktası, SSL sonlandırma ve yük dağıtımı sağlar. Nginx bu işi proxy_pass direktifiyle yapar. Nginx Proxy Manager (NPM) ise bu yapılandırmayı ve Let’s Encrypt SSL sertifikalarını şık bir web arayüzünden yönetmenizi sağlayan Docker tabanlı bir araçtır. Bu rehberde her ikisini de ele alıyoruz.
Reverse proxy ile birden çok uygulamayı tek sunucuda düzenli yayınlamak için bir VPS/sunucu idealdir.
Nginx ile Reverse Proxy Yapılandırması
Diyelim ki 8000 portunda çalışan bir uygulamanız var ve bunu 80 portundan domain ile yayınlamak istiyorsunuz. Nginx server bloğu şöyle olur:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8000;
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;
}
}
Buradaki proxy_set_header satırları, arka plandaki uygulamanın gerçek istemci bilgisini doğru görmesini sağlar. Değişiklikten sonra nginx -t ile test edip systemctl reload nginx ile devreye alın.
Nginx Proxy Manager (NPM) Kurulumu
Config dosyalarıyla uğraşmak istemiyorsanız, NPM’i Docker Compose ile kurabilirsiniz:
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # HTTP
- '443:443' # HTTPS
- '81:81' # Yonetim arayuzu
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Ardından docker compose up -d ile başlatın ve yönetim arayüzüne http://SUNUCU_IP:81 adresinden erişin.
İlk Giriş ve SSL
NPM’in ilk giriş bilgisi e-posta admin@example.com, parola changeme‘dir; ilk girişten sonra bunları derhal değiştirin. Arayüzden bir “Proxy Host” ekleyip domaininizi ve hedef adresi (örneğin http://uygulama:3000) girersiniz; SSL sekmesinden tek tıkla Let’s Encrypt sertifikası alıp HTTPS’i otomatik açabilirsiniz.
Dikkat Edilmesi Gerekenler
- 80 ve 443 portları üretimde açık olmalı; aksi hâlde Let’s Encrypt SSL doğrulaması (HTTP challenge) başarısız olur.
- İlk girişten sonra
admin@example.com / changemebilgilerini hemen değiştirin; ciddi güvenlik açığıdır. ./datave./letsencryptklasörleri tüm proxy kayıtlarını ve sertifikaları tutar; bunları yedekleyin.- Reverse proxy arkasındaki uygulamalar için gerçek istemci IP’sini iletmek üzere forward header’larını doğru ayarlayın.
Sıkça Sorulan Sorular
Reverse proxy ne işe yarar?
Tek giriş noktası, SSL sonlandırma, yük dağıtımı ve birden çok uygulamayı tek sunucuda yayınlama imkânı sağlar.
NPM mi yoksa elle Nginx mi?
Görsel kolaylık ve otomatik SSL için NPM; tam kontrol için elle Nginx yapılandırması tercih edilir.
SSL otomatik mi?
NPM ile evet; domain doğru yönlendirildiğinde Let’s Encrypt sertifikası tek tıkla alınır ve yenilenir.
Birden çok siteyi yönetebilir miyim?
Evet, her domain için ayrı Proxy Host tanımlayarak tek sunucuda çok sayıda site yayınlayabilirsiniz.
WebSocket destekler mi?
Evet, uygun header ayarlarıyla WebSocket bağlantıları da proxy’lenebilir.
Reverse Proxy İçin Sunucu
Birden çok uygulamayı tek sunucuda yayınlamak için NVMe SSD’li VPS çözümleri.


