NGINX Reverse Proxy Nedir?
Öncelikle, "reverse proxy" nedir, ona bir göz atalım. Reverse Proxy, gelen istekleri bir veya birden fazla sunucuya yönlendiren bir yapılandırmadır. Bu, web sunucusunun kullanıcıdan gelen istekleri alıp, doğru sunucuya iletmesini sağlar. NGINX, bu işlemi son derece hızlı ve etkili bir şekilde yapabilen popüler bir yazılımdır.
Adım 1: NGINX’i Kurma
NGINX’i kurmak için birkaç basit adımı takip etmeniz yeterli. Hadi, bu adımları hızlıca inceleyelim.
sudo apt update
sudo apt install nginx
Yukarıdaki komut, NGINX'i yükler ve kurulum işlemi başlar. Kurulum tamamlandığında, NGINX servisini başlatmak için şu komutu yazabilirsiniz:
sudo systemctl start nginx
Kurulum tamamlandıktan sonra, tarayıcınızda `http://localhost` yazarak NGINX'in çalıştığını doğrulayabilirsiniz. Eğer başarılı bir şekilde karşınıza "Welcome to NGINX" sayfası çıkarsa, her şey yolunda demektir!
Adım 2: Reverse Proxy Yapılandırması
Şimdi, NGINX’i Reverse Proxy olarak kullanmaya başlamak için yapılandırmamız gerekiyor. Bunun için, NGINX konfigürasyon dosyasını düzenlememiz yeterli.
sudo nano /etc/nginx/sites-available/default
Bu dosya, NGINX’in nasıl çalıştığını belirleyen dosyadır. Bu dosyada, gelen isteklerin hangi sunucuya yönlendirilmesi gerektiğini belirteceğiz.
Aşağıdaki örnek, gelen tüm HTTP isteklerini başka bir sunucuya yönlendirecek şekilde yapılandırılmıştır:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://192.168.1.100:8080; # Sunucu adresi ve portu
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;
}
}
Bu yapılandırma dosyasında, `proxy_pass` komutu, gelen istekleri belirtilen IP adresine yönlendirecek şekilde ayarlanmıştır. Ayrıca, `proxy_set_header` komutları, bazı başlık bilgilerini doğru şekilde iletebilmek için kullanılır.
Yapılandırma dosyasını kaydedip çıkın ve ardından NGINX servisini yeniden başlatın:
sudo systemctl restart nginx
Şimdi, NGINX’in Reverse Proxy olarak çalışmaya başlaması gerekir!
Adım 3: Güvenlik ve Optimizasyon
NGINX'i kurup yapılandırdıktan sonra, güvenlik ve optimizasyon gibi önemli konuları gözden geçirelim. Web sitenizi bir Reverse Proxy ile korumak önemlidir, ancak doğru güvenlik önlemleri almazsanız, hala risk altında olabilirsiniz.
sudo apt install python3-certbot-nginx
sudo certbot --nginx -d example.com
Bu komutlarla, SSL sertifikasını kolayca alabilir ve NGINX yapılandırmanızı HTTPS için otomatik olarak güncelleyebilirsiniz.
Adım 4: Yük Dengeleme (Load Balancing)
Reverse Proxy’nin gücünü en iyi şekilde kullanmak için, birden fazla sunucuya istek yönlendirebilirsiniz. Bu, özellikle yüksek trafikli sitelerde yararlıdır.
http {
upstream backend {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
}
Bu yapılandırma, NGINX'in gelen istekleri belirtilen iki sunucuya dengeli bir şekilde yönlendirmesini sağlar.
### Sonuç
NGINX ile Reverse Proxy kurulumu ve yapılandırması oldukça basittir ve birkaç adımda yapılabilir. NGINX, sadece hız ve güvenlik sağlamakla kalmaz, aynı zamanda yük dengelemesi yaparak yüksek trafikli siteler için mükemmel bir çözüm sunar. Şimdi, bu yapılandırmayı kullanarak web sitenizi hızlandırabilir ve güvenli hale getirebilirsiniz!