Reverseproxy, NGINX ve proxy mantığı hakkında bir soru

Merhaba,

REVERSEPROXY için NGINX kullandığımda PROXYSERVER ve WEBSERVER IP’miz aynı mı oluyor. Yani REVERSEPROXY yapmanın bize sağladığı websitemizin IP’sini göremiyorlar olayı yalan mı oluyor?

Reverse proxy’nin mantığı aynı IP üzerinden birden fazla web hizmetini sunmak. Her biri mesela 80 ve 443 portu gerektiren hizmetlerin olduğunu düşünün. Bu durumda siz reverse proxy ile gelen istekleri gitmesi gereken yerlere gönderiyorsunuz. 80 portuna gelen mesela 10 tane istek var 3 tanesi A sitesi için 3 tanesi B kalanlar da C ye. Bunu mesela SNI (Server Name Identicator) ile yapıyorsunuz. Reverse Proxy’niz ister buna göre ister de Port numarasına göre gelen istekleri alıp gitmesi gereken yere gönderiyor. Böylece tüm hizmetlerinizin IP’si yani dışarıda görünen IP si aynı oluyor. Sunucu IP’niz ne ise o görünüyor.

Cloudflare veya benzeri bir hizmet kullanırsanız belki böyle bir sonuca ulaşabilirsiniz.

2 Likes

Yukarıda anlattığınız mantıkta 80 portuna nasıl 10 tane istek gelebilir?
DNS A RECORD IP’si aynı farklı domain isimleri ile değil mi?

Ek olarak bir sorum daha var kusura bakmayın 3 gündür aşırı uğraşıyorum yazdığım şeylerden bir şey anlamazsanız gayet normal :smiley:

Domainimi cloudflare’a bağlayıp içerde NGINX ile bir REVERSEPROXY yapmak mantıklı mıdır?

Şuanda subdomainlerim farklı portlarda çalışan hizmetlere gidiyor örnek;
openvpn.xxxx.info -->:943
kavita.xxxx.info–>:5000
(Bu subdomainlerde A RECORD var, doğru hizmeti alabiliyorum.)
Ve ben bu Domainlere ping attığımda VPS makinemin IP’sini görmüyorum. Doğru bir konfigurasyon olarak değerlendirilebilir mi?

Evet. Hepsi Aynı A kaydına yani IP’ye bağlı.

İşte burada da SNI devreye giriyor. Gönderilen isteğin hangi alan adıyla bağlantılı olduğunu belirttikleri takdirde o paket proxy_pass ile belirtilen yere gidiyor veya /root olarak belirtilen klasör sunuluyor.

Mesela aşağıdaki resimde hem domainler farklı hem de subdomainler farklı farklı. Akla gelebilecek tüm ihtimalleri kapsıyor yani.


Kaynak: https://levelup.gitconnected.com/

Zaten bunu yapacaksanız direkt Cloudflare Tunnel kullanabilirsiniz. Sizi ek reverse proxy kurmaktan A record ve Cname ayarlamaktan kurtarır. Direk dersiniz ki IP:Port buna git. O gereken her şeyi kendisi ayarlar

4 Likes

Yani reverse proxy trafik polisi gibi biraz doğru mu? Neyin nereye gideceğini ayarlıyor.

2 Likes

Evet. Biraz load balancer mantığına da benzer. Eğer ona aşina iseniz. Güzeldir, kullanışlıdır ve esnektir. Arzu ettiğiniz şekilde değişiklik yapıp farklı senaryolara uygun hale getirebilirsiniz.

Edit: Ufak ve ilginç bir bilgi. Bazı sitele yöneticileri gerektiğinde direkt farkedilmemesi ve gözü rahatsız etmemesi için 3w yerine 4w kullanarak farklı bir subdomain oluşturmayı tercih ediyor. Bu da böyle güzel bir bilgi olarak dursun :smiley:

1 Like