Nginx Reverse Proxy Nasıl Kurulur?

Linux işletim sisteminde reverse proxy (ters vekil sunucu) host (istemci) ile sunucu arasındaki istemci isteklerini alan, onları diğer sunuculara yollayan ve son olarak da vekil sunucunun kendisinden gelmiş gibi yanıtları istemciye ileten bir bağ olacak çalışır.

İ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 VPS‘inizde 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?

Önemli:

İlk olarak – SSH’nizi kullanarak VPS sunucunuza erişmelisiniz. Eğer bunu yapmakta sorun yaşıyorsanız PuTTY rehberimize bir göz atın!

İkinci olarak – rehberimizin ilerleyen kısımlarında da anlatacağımız gibi bu yöntemin çalışması için Apache web sunucusunun hali hazırda kurulu ve yapılandırılmış olması gerekmektedir.

Ş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.

Author
Yazar

Gökhan O.

Gökhan Hostinger’da YouTube Takım Lideri olarak çalışmakta. WordPress hakkındaki tecrübe ve bilgisini bu blogda paylaşıyor. Hostinger’ın adını YouTube içeriği üzerinden duyurmayı kendine görev edinmiştir. Hobileri arasında oyun oynamak ve futbol maçları izlemek vardır.