Nginx Ters Vekil (Reverse Proxy) Kurulumu | Ubuntu 22.04 & 24.04
Nginx Ters Vekil (Reverse Proxy) Yapılandırma Rehberi
Bir uygulama sunucusunu (Node.js, Python, Go vb.) internete açmanın en güvenli yolu, önüne bir ters vekil (reverse proxy) yerleştirmektir.
Bu mimari; güvenlik, SSL yönetimi ve ölçeklenebilirlik avantajları sağlar.
Bu Rehberde Ne Öğreneceksiniz?
- Ubuntu üzerinde Nginx kurulumunu
proxy_passile trafik yönlendirmeyi- İstemci IP ve protokol bilgilerini backend’e aktarmayı
- Let’s Encrypt ile otomatik SSL kurulumunu
1. Nginx Sunucusunun Kurulması
Nginx, Ubuntu’nun varsayılan depolarında yer alır.
sudo apt update
sudo apt install nginx
- Bu komutlar Nginx web sunucusunu sisteme kurar.
Güvenlik duvarında HTTP trafiğine izin verin:
sudo ufw allow 'Nginx HTTP'
2. Sunucu Bloğu (Virtual Host) Oluşturma
- Varsayılan yapılandırmayı değiştirmek yerine alan adına özel dosya oluşturun.
sudo nano /etc/nginx/sites-available/rabisu.cloud
Örnek yapılandırma:
server {
listen 80;
server_name rabisu.cloud www.rabisu.cloud;
location / {
proxy_pass http://127.0.0.1:8000;
include proxy_params;
}
}
- Bu ayar, gelen istekleri 8000 portundaki uygulamaya yönlendirir.
Yapılandırmayı etkinleştirin:
sudo ln -s /etc/nginx/sites-available/rabisu.cloud /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
3. HTTPS (SSL) Yapılandırması – Let’s Encrypt
- HTTPS, güvenlik ve SEO için zorunludur.
sudo apt install certbot python3-certbot-nginx
- SSL sertifikasını alın:
sudo certbot --nginx -d rabisu.cloud -d www.rabisu.cloud
- Certbot, HTTPS yönlendirmesini otomatik ekler.
4. WebSocket Desteği (Opsiyonel)
- Gerçek zamanlı uygulamalar için WebSocket yapılandırması:
location /ws/ {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
- Bu yapı, WebSocket bağlantılarını kesintisiz iletir.
Sıkça Sorulan Sorular (SSS)
1. Neden uygulamayı doğrudan internete açmamalıyım? Uygulama sunucuları yüksek trafik ve saldırılar için optimize edilmez.
2. 502 Bad Gateway hatası neden olur? Backend uygulama çalışmıyordur veya yanlış port kullanılıyordur.
3. SSL sertifikası süresi dolunca ne olur? Certbot otomatik yenileme yapar. Manuel işlem gerekmez.
Sonuç
Bu rehberle Nginx’i ters vekil olarak yapılandırarak, yerel uygulama sunucularınızı güvenli ve ölçeklenebilir hale getirdiniz. Bu yapı modern web mimarilerinin temelidir.
Kurumsal projeleriniz için bu mimariyi Rabisu Bulut altyapısında hemen kullanabilirsiniz.