Bir forward proxy, bir proxy sunucusu olup, bir istemcinin isteklerini istemcinin adına web sitelerine iletir, böylece web siteleri istemcinin IP adresi yerine proxy'nin IP adresini görür. Genellikle sadece proxy olarak adlandırılır. Konut, veri merkezi, mobil ve ISP proxy'leri tümü forward proxy'dir.
Forward Proxy Nasıl Çalışır
- İstemci proxy'yi seçer. HTTP standardı (RFC 9110), proxy'yi genellikle tarayıcı veya sistem ayarları, bir PAC dosyası veya bir scraper'ın kodu gibi yerel yapılandırma aracılığıyla istemci tarafından seçilen bir ajan olarak tanımlar.
- Düz HTTP istekleri tam URL'yi taşır. İstemci, proxy'ye tam adresi gönderir, örneğin
GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1, böylece proxy hangi sunucuya ulaşacağını bilir. - HTTPS istekleri bir tünel kullanır. İstemci
CONNECT host:443gönderir ve proxy, mesajları değiştirmeden kör bir iletim olarak şifreli trafiği iletir. - Proxy yanıtı döner. Web sitesi proxy'ye yanıt verir ve proxy yanıtı istemciye geri iletir.
Forward Proxy'lerin Kullanım Alanları
- İstemcinin IP adresini gizlemek: MDN, forward proxy'lerin anonim olabileceğini ve kullanıcıların IP adreslerini gizlemelerine izin verdiğini belirtir. Örneğin, Tor trafiği birden fazla proxy üzerinden yönlendirir.
- Web scraping ve IP döngüsü: bir script her oturumu farklı bir proxy üzerinden gönderebilir, bu da IP döngüsü temelini oluşturur.
- Konum bazlı sonuçlar: belirli bir ülkede veya şehirde bir proxy seçmek, oradaki kullanıcıların gördüklerini görmenizi sağlar, buna coğrafi hedefleme denir.
- Dahili ağlar için internet erişimi: Apache belgeleri, bir güvenlik duvarı tarafından kısıtlanan dahili istemcilere internet erişimi sağlama konusunu açıklar.
- Önbellekleme: bir forward proxy, bir grup kullanıcı için bant genişliği kullanımını azaltmak amacıyla içeriği depolayıp yeniden kullanabilir.
Açık ve Şeffaf Forward Proxy'ler
- Açık proxy: istemci proxy'yi kullanacak şekilde yapılandırılmıştır ve isteklerini doğrudan ona gönderir.
- Şeffaf proxy: istemci hiç yapılandırılmamıştır. Ağ, trafiğini keser ve proxy üzerinden gönderir. RFC 9110, bunu bir kesme proxy'si olarak adlandırır ve istemci tarafından seçilmediğini belirtir.
Forward Proxy ile Reverse Proxy Arasındaki Fark
| Forward proxy | Reverse proxy | |
|---|---|---|
| İçin hareket eder | İstemci | Sunucu |
| Kurulum yapan | Kullanıcı veya istemci uygulaması | Site operatörü |
| İstemci yapılandırması | Gereklidir (şeffaf değilse) | Yok |
| Gizler | İstemcinin kimliğini sunuculardan | Sunucuların kimliklerini istemcilerden |
Bir reverse proxy diğer yönde çalışır: siteye ait sunucular adına istekleri alır.
Güvenlik Hususları
- Açık proxy'ler: Apache belgeleri, bir forward proxy'nin istemcilerin sunucunuz aracılığıyla rastgele sitelere ulaşmasına ve gerçek kökenlerini gizlemesine izin verdiğini uyarır, bu nedenle yalnızca yetkilendirilmiş istemcilerin kullanmasına izin verilmelidir. MDN, internette muhtemelen yüz binlerce açık forward proxy olduğunu belirtir.
- Operatörün görebileceği şeyler: proxy, düz HTTP trafiğini okuyabilir ve değiştirebilir. CONNECT tünelindeki HTTPS trafiği, proxy TLS'yi kesmek üzere yapılandırılmadıkça şifreli kalır.