Linux

Nginx Reverse Proxy Nedir ve Nginx Reverse Proxy Nasıl Kurulur?

sunucu linux kernel
Share

Linux işletim sisteminde bir reverse proxy (ters vekil sunucu) host (istemci) ile sunucu arasındaki bağ olarak çalışır.
İstemci isteklerini alır, onları diğer sunuculara yollar ve son olarak da vekil sunucunun kendisinden gelmiş gibi yanıtları istemciye iletir.
İstemci ve sunucu etkili olarak çalışmak için devamlı bilgi alışverişinde bulunur.
Genellikle ters vekil sunucular web sunucuları tarafından kullanılırlar.
Bir vekil sunucu veya ağ geçidi sunucuya özel ayarların gerekli olmadığı normal sıradan bir web sunucu gibi gözükür.
İstemci normal istekleri yaparken ters vekil sunucuysa bilgiyi nereye verileceğine karar verir ve nihai çıktıyı istemciye başnoktaymış gibi ulaştırır.
Nginx reverse proxy oldukça yararlıdır.
İnternet’teki en aktif kullanılan açık kaynaklı sunuculardan biridir.
Bu makalede size Nginx reverse proxy (ters vekil sunucu) nedir ve sanal sunucunuzda nasıl kurabileceğinizi göstereceğiz!

Nginx Reverse Proxy Kullanmanın Avantajları

Hadi bu aracın neden bu kadar popüler olduğunun sebeplerine bakalım:

  • Uygulaması kolaydır ve DDoS ve DoS gibi Web sunucu saldırılarına karşı fazlasıyla güvenlidir
  • Nginx Reverse proxy birçok back-end sunucusu arasında dengeli bir yüklenme yaratmaya yardımcı olur ve daha yavaş back-end sunucuları için önbellekleme sağlar
  • Nginx istemciden gelen her bir web isteği için yeni bir işlem kurmayı gerektirmez. Bunun yerine varsayılan ayar işlemci başına bir işlemle sınırlar
  • Nginx HTTP, HTTPS, TCP, UDP, SMTP, IMAP ve POP3 gibi çeşitli protokoller için ters vekil sunucu olarak çalışabilir
  • 10000’in üzerinde bağlantının düşük hafıza kullanımıyla üstesinden gelebilir. Nginx tek bir IP adresi üzerinden birden çok web sunucusunu çalıştırabilir ve her isteği bir LAN içerisinde doğru sunucuya iletebilir
  • Nginx statik içeriğin performansını artırmak için en iyi web sunucularından biridir. Ek olarak ayrıca içerik önbelleklemeye yardımcı olabilir ve web sunucudaki yükü azaltmak için SSL şifreleme yapabilir
  • Yüklenme süresini iyileştirmek için içeriği sıkıştırarak optimize etmekte kullanışlı olabilir
  • Nginx sayfalara JavaScript kodları yerleştirmeden rastgele deneyler ve A/B testi uygulayabilir.

Üstelik bütün bu avantajlar buz dağının sadece görünen kısmıdır. Nginx reverse proxy kullandıkça daha fazla özellik keşfedeceksiniz!

Nginx Reverse Proxy Nasıl Kurulur?

Şimdiyse Apache web sunucusunda Nginx’i yapılandıracağız. Apache sunucusunu dinamik içeriği çalıştırmakta daha iyidir.

Yani dinamik içerik Apache’ye giderken bütün statik içerikse Nginx’e gidecektir. Bu, içerik dağıtmayı çalıştırabilme kriterlerine göre optimize ettiğinden performansı arttıracaktır.

Sıradaysa Nginx Proxy Server’ın IP adresini 192.x.x.1 ve Apache sunucusunuysa 192.x.x.2 tanımlamak var. Apache’yi kurduktan sonraysa bu aşamalara geçebilirsiniz:

1. Nginx Yükleyin

Ubuntu 18.04’de apt komutunu kullanacağız:

sudo apt-get update 
sudo apt-get install nginx

2. Varsayılan Sanal Sunucuyu Devre Dışı Bırakın

Nginx’i yükledikten sonra sanal sunucuyu devre dışı bırakmak için aşağıdaki komutu kullanın:

sudo unlink /etc/nginx/sites-enabled/default

3. Nginx Reverse Proxy Oluşturun

Sanal sunucuyu devre dışı bıraktıktan sonra ters vekil sunucu bilgisini saklamak için etc/nginx/sites-available dizini içinde reverse-proxy.conf adında bir dosya oluşturmanız gerekiyor.
Bunun içinse ilk önce cd komutunu kullanarak dizine erişmelisiniz:

cd etc/nginx/sites-available/ 

Daha sonra ise vi editörü kullanarak dosyayı yaratabilirsiniz:

vi reverse-proxy.conf 

Bu dosyada bu dizileri yapıştırmanız gerekiyor:

server { listen 80; location / { proxy_pass http://192.x.x.2; } } 

Üstteki komutta dikkat etmeniz gereken nokta Nginx reverse proxy üzerinden gelen isteklere Apache uzak soketi olan 192.x.x.2:80‘e ulaştırmak için proxy pass’in izin verdiğidir. Böylece hem Nginx, hem de Apache içeriği paylaşır.
Bu işlemi tamamladıktan sonra dosyayı kaydedin ve vi editöründen çıkış yapın. Bunu wq yazarak yapabilirsiniz.
Bilgiyi diğer sunuculara aktarmak için terminalde ngx_http_proxy_module‘ü kullanabilirsiniz.
Şimdiyse emirleri /sites-enabled/‘e bağlamak için aşağıdaki komutu kullanın:

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf 


4. Nginx’i ve Nginx Reverse Proxy’i Test Edin

Son olarak bir Nginx yapılandırma testi yapmanız ve Nginx’in performans kontrolü için test edin. Nginx’in çalıştığını doğrulamak için Linux terminalinde aşağıdaki komutları girin:

service nginx configtest 
service nginx restart 

Unutmayın eğer testin başarısız olduğu sonucunu alırsanız bu Apache’nin düzgün kurulmadığını gösterir.
Sonuç Linux işletme sisteminde bir Nginx reverse proxy kurmanın birçok avantajı vardır. Etkili biçimde performansı artırır ve kötü niyetli yazılımlar karşısında daha güvenli olursunuz. Linux terminalinde Nginx reverse proxy yapılandırması oldukça basit bir işlemdir. Nginx reverse proxy’i yükleyip yapılandırmanın ihtiyacınıza göre birçok yolu vardır ancak bu makalede sunduğumuz yöntem en kolay ve açık yoludur.

Bu makale, hostinger sitesinden alıntıdır.