Emriva.net

Nginx Reverse Proxy Nedir?

Nginx reverse proxy ile Node, PHP-FPM ve birden fazla uygulamayı 80/443’te yayınlama. Emriva VDS rehberi.

Yazılım & Deploy2 dk okumaSon güncelleme: 2026-08-15

Yazar

Yunus Emre Derin · Kurucu

Emriva Bilişim Medya Ve Reklamcılık kurucusu. VDS, dedicated sunucu ve web hosting altyapısı üzerinde ürün ve operasyon deneyimi.

Nginx reverse proxy ne işe yarar?

Reverse proxy, istemcinin 443’te Nginx’e gelmesi, Nginx’in isteği içerideki uygulamaya (Node 3000, Gunicorn 8000, ikinci VDS) iletmesidir. Kazanım: tek SSL sonlandırma, HTTP başlıkları, sıkıştırma, statik dosya, rate limit, birden fazla Host.

Forward proxy (kurum çıkış proxy) farklıdır. Docker’da Traefik/Caddy aynı rolü oynar. Yanlış proxy_set_header Host, uygulama yanlış sanal host üretir; X-Forwarded-Proto https değilse “redirect loop” WordPress’te klasiktir. define('FORCE_SSL_ADMIN', true) ve $_SERVER['HTTPS'] = 'on' proxy arkasında gerekebilir. proxy_hide_header Upgrade üretimde WebSocket’i kırar. keepalive_timeout 65 varsayılanı uzun upload’ta yetmez. split_clients A/B için ileri seviye. access_log buffer=32k I/O’yu düşürür. $remote_addr CDN arkasında kenar IP’sidir; real_ip_module şarttır.

Temel sunucu bloğu nasıl yazılır?

location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; 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; } client_max_body_size 32m; zaman aşımı uzun yüklemede proxy_read_timeout 60s.

WebSocket: Upgrade ve Connection başlıkları. Birden fazla backend: upstream api { server 127.0.0.1:3000; } proxy_pass http://api. nginx -t && systemctl reload nginx. SELinux varsa httpd_can_network_connect. proxy_buffering off SSE/streaming için gerekir; aksi halde olaylar birikir. gzip on; gzip_types application/json text/css. limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s; hassas /login için. real_ip_header X-Forwarded-For yalnızca güvendiğiniz CDN/proxy setinden. resolver 1.1.1.1; upstream dinamik DNS’te. map $http_upgrade $connection_upgrade { default upgrade; '' close; } WebSocket şablonunun kalbidir. Hata sayfası: proxy_intercept_errors off bırakın ki uygulama 404’ü kendisi versin.

SSL ve HTTP’den yönlendirme

listen 80; return 301 https://$host$request_uri; 443’te ssl_certificate Let’s Encrypt fullchain. Mozilla SSL Generator ara yapı güvenli başlangıçtır. OCSP/stapling isteğe bağlı. HTTP/2: http2 on (sürüme göre listen 443 ssl http2).

certbot --nginx bu blokları yazabilir; elle yazdıysanız certbot --nginx mevcut server_name’i tanır. Yenileme: certbot renew --dry-run. HSTS includeSubDomains wildcard ile düşünülür. ssl_stapling on; ssl_stapling_verify on Mozilla ara yapıda vardır. dhparam artık TLS1.3’te daha az kritik, protokol listesini güncel tutun.

Sık hatalar

502 Bad Gateway: backend kapalı, sock yolu yanlış (PHP-FPM). 504: uygulama kilitlendi. 413: client_max_body_size. Loop: X-Forwarded-Proto yok, uygulama HTTPS’e zorluyor. Host $host yerine IP, sanal host kaçırır. error.log’da upstream timed out satırı proxy_read_timeout işaret eder. curl -H Host:ornek.com http://127.0.0.1 Nginx’i yerelde dener. ss -lntp dinlenen portu doğrular.

BelirtiKontrolKomut
502backend dinliyor muss -lntp | grep 3000
nginx -t failnoktalı virgülnginx -t
Redirect loopproto başlığıcurl -I -H Host:
WS kopuyorUpgradetarayıcı ağ paneli

Emriva ürün eşlemesi

Bu bölüm ürün eşlemesidir. Reverse proxy Linux VDS’te sizin Nginx’inizdir; cPanel LiteSpeed ayrı dünyadır. Node, PHP-FPM ve staging aynı kalıbı kullanır. Xeon 2–4 GB küçük proxy+app için yeter.

Konfig paylaşırken sertifika yolunu ve iç IP’leri maskeleyebilirsiniz.

İlgili ürünler