Ubuntu 22.04 sunucularında Nginx'i reverse proxy olarak yapılandırmak, web uygulamalarınızı güvenli ve verimli bir şekilde yönetmek için güçlü bir yöntemdir.
Ubuntu 22.04 sunucularında Nginx’i reverse proxy olarak yapılandırmak, web uygulamalarınızı güvenli ve verimli bir şekilde yönetmek için güçlü bir yöntemdir. Bu kurulum, gelen trafiği backend sunucularınıza yönlendirerek yük dengeleme ve güvenlik katmanları sağlar. Makalede, adım adım talimatlarla bu işlemi gerçekleştireceğiz. Özellikle geliştiriciler ve sistem yöneticileri için pratik bir rehber sunarak, olası sorunları önleme ve en iyi uygulamaları vurgulayacağız. Kurulum sırasında terminal komutlarını dikkatle uygulayın ve her adımı doğrulayın.
Sisteminizi güncel tutmak, güvenlik açıklarını kapatır ve uyumluluğu sağlar. Ubuntu 22.04’te terminali açın ve şu komutları sırayla çalıştırın: sudo apt update ile paket listesini yenileyin, ardından sudo apt upgrade -y ile tüm paketleri güncelleyin. Bu işlem, Nginx’in sorunsuz çalışması için temel oluşturur. Güncelleme tamamlandıktan sonra sistemi yeniden başlatmanızı öneririz: sudo reboot.
Unnecessary paketleri temizleyin: sudo apt autoremove ve sudo apt autoclean. Firewall ayarlarını kontrol edin; UFW etkinse sudo ufw enable ile aktifleştirin. Nginx için HTTP trafiğine izin verin: sudo ufw allow 'Nginx Full'. Durumu sudo ufw status ile doğrulayın. Bu adımlar, kurulum sırasında oluşabilecek çakışmaları önler ve sunucunuzu hazır hale getirir. Yaklaşık 5-10 dakika sürer ve stabiliteyi artırır.
Nginx’i resmi Ubuntu depolarından yükleyin: sudo apt install nginx -y. Kurulum tamamlandıktan sonra servisi başlatın: sudo systemctl start nginx ve açılışta otomatik başlaması için sudo systemctl enable nginx çalıştırın. Durumu kontrol edin: sudo systemctl status nginx. Yeşil “active (running)” mesajı görmelisiniz. Varsayılan sayfa için tarayıcıda sunucu IP’nizi ziyaret edin; “Welcome to nginx!” sayfası görünürse başarıdır.
Bu aşamada, Nginx’in varsayılan konfigürasyon dosyası /etc/nginx/sites-available/default konumundadır. Düzenlemeden önce yedek alın: sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak. Güvenlik için root erişimini sınırlayın ve SELinux benzeri modülleri devre dışı bırakmayın.
UFW ile Nginx profillerini etkinleştirin: sudo ufw allow 'Nginx HTTP' ve HTTPS için sudo ufw allow 'Nginx HTTPS'. Fail2ban gibi araçlar ekleyerek brute-force saldırılarını engelleyin: sudo apt install fail2ban -y. Nginx loglarını izleyin: tail -f /var/log/nginx/access.log. Bu ayarlar, reverse proxy trafiğini korur ve DDoS riskini azaltır. Her değişikliği sudo ufw reload ile uygulayın.
Yapılandırma sözdizimini test edin: sudo nginx -t. Hata yoksa reload yapın: sudo systemctl reload nginx. Bu prosedür, kesintisiz güncellemeler sağlar.
Yeni bir site konfigürasyonu oluşturun: sudo nano /etc/nginx/sites-available/reverse-proxy. İçeriğe şu blokları ekleyin:
upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; } (backend portlarınızı uyarlayın).server { listen 80; server_name example.com; location / { proxy_pass http://backend; 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; } }.Dosyayı kaydedin ve etkinleştirin: sudo ln -s /etc/nginx/sites-available/reverse-proxy /etc/nginx/sites-enabled/. Varsayılanı devre dışı bırakın: sudo rm /etc/nginx/sites-enabled/default. Test edin: sudo nginx -t ve reload: sudo systemctl reload nginx. Bu, trafiği backend’e proxy’ler ve header’ları korur, gerçek IP’leri backend’e iletir.
Tarayıcıda sunucu IP’nizi ziyaret edin; backend uygulamanız yanıt vermelidir. Curl ile test: curl -I http://sunucu-ip. Logları inceleyin: tail -f /var/log/nginx/error.log. Yaygın hatalar: 502 Bad Gateway (backend kapalıysa), 413 Request Entity Too Large (client_max_body_size 10M; ekleyin). Proxy timeout’ları ayarlayın: proxy_connect_timeout 60s; proxy_send_timeout 60s;.
Performansı optimize edin: Gzip sıkıştırma ekleyin gzip on; ve cache header’ları tanımlayın. SSL için Certbot kullanın, ancak bu temel kurulumda opsiyonel. Tüm adımlar tamamlandığında, sisteminiz production-ready hale gelir.
Bu kurulumla Ubuntu 22.04’te Nginx reverse proxy’nizi başarıyla devreye aldınız. Düzenli güncellemeler ve log izleme ile güvenliği koruyun. İleri seviyede load balancing veya SSL termination ekleyerek ölçeklendirin. Pratik deneyimle, bu yapı web projelerinizde vazgeçilmez olacak.