Öncelikle proxy'nin ne olduğundan bahsetmeye başlayalım . Proxy, ağ ayarlarında proxy sunucusunu makinelerinde aktif olarak yapılandıran istemcilerden gelen bağlantıları kabul eden bir sunucudur.
Bir istemci bir sunucuyla bağlantı kurduğunda, istekler her zaman o proxy sunucusundan geçer.
Bu uygulamanın birkaç kullanımı vardır. Şirketler ve kuruluşlar, bağlantıları filtrelemek, daha fazla güvenlik sağlamak ve trafiği günlüğe kaydetmek için proxy sunucuları kurabilir. İstemciler proxy kullanmadan dış ağa erişemez. Proxy sunucuları ayrıca gizlilik sağlamak ve ülkelerin hükümetleri tarafından dayatılan ağ kısıtlamalarından kaçınmak için kullanışlıdır.
Öte yandan bir ters proxy sunucu tarafından kurulur. Müşteriler için tamamen şeffaftır, bu aracının var olduğunu bilmiyorlar, ancak sunucular üzerinde çok faydalı bir iş yapmakla beraber, istekleri filtreliyor ve onları idare eden uygun servise gönderiyor.
Nginx'i ters proxy olarak kullanmak ve örneğin Node.js'de yazılmış, dışarıdan erişilemeyen dahili bağlantı noktalarını dinleyen hizmetlere sahip olmak yaygındır .
Bu durumda Nginx, ana istek işleyicisi olarak hizmet eder ve örneğin özel alt klasörleri veya URL'leri belirli hizmetlere bağlamak gibi uygun istekleri gönderir.
Tamamen farklı 2 şey yapan 2 farklı Node.js uygulamamız olabilir ve kullanıcının bunu bilmesine gerek yoktur.
Biz geliştiricilerin çoğunlukla kullanacağımız bu yönlendirme işlevinin yanı sıra, ters proxy'ler ayrıca bir güvenlik duvarı görevi gören saldırıları filtrelemek ve bunlardan korunmak, önbelleğe almayı tanıtmak, SSL'yi yapılandırmak, yük dengelemeyi, A/B testini işlemek için harikadır.