Sıradan bir Nodetonet tüneli, herkese açık internetteki herhangi bir yere ulaşabilir. Çoğu iş akışı için bu yeterlidir — scraper'ınızı tek bir siteye yönlendirirsiniz ve proxy'nin prensipte bir milyon başka yere de ulaşabileceğini görmezden gelirsiniz. Ancak "ulaşabilir", kimlik bilgilerini başkası ele geçirdiğinde, bir script'in hedef hostname'inde yazım hatası olduğunda veya bir düzenleyici residential bant genişliğinizin nerede harcandığını sorduğunda ciddi bir sorun haline gelir.
Kısaca — alan adı kısıtlamaları, her bağlantının hedef tarafına proxy başına bir güvenlik duvarı eklemenizi sağlar; bu özellik, kaynak taraftaki IP izin ve yasak listelerini tamamlar.
Kaynak-IP kısıtlamaları (proxy'nize kimin bağlanabileceği) ile alan adı kısıtlamaları (proxy'nizin nereye gitmeye razı olduğu) birlikte iki duvarlı bir sandbox oluşturur. Bir duvarı aşılsa bile diğeri hasarı sınırlar. Bu rehber iki modun nasıl çalıştığını, joker sözdiziminin ne anlama geldiğini, engellenen isteklerin nasıl göründüğünü ve en iyi gerçek-hayat kalıplarını açıklar.
İki mod
Her proxy tam olarak bir alan adı kısıtlama modu taşır. Üç seçenek vardır:
| Mod | Ne yapar | En iyi olduğu yer |
|---|---|---|
| Kapalı (varsayılan) | Alan adı filtresi yok. Proxy, istemcinin talep ettiği herhangi bir hostname'i çevirir. | Hedef kısıtlaması olmayan genel amaçlı tüneller. |
| İzin listesi | Yalnızca listede yer alan hostname'lere ulaşılabilir. Bağlantı denemesi yapılmadan proxy'de engellenir. | Tek-site scraper'lar, staging sandbox'ları, uyumluluk kapsamlı proxy'ler. |
| Yasak listesi | Listede yer alanlar reddedilir, diğer her hedefe izin verilir. | Analitik, reklam ağları veya paylaşılan tünelden hassas dahili altyapıyı engelleme. |
Modları birleştiremezsiniz — bir tünel, bir mod. Mod değiştirmek anlık gerçekleşir: yeni bağlantılar güncellenen kuralı hemen uygular; var olan uçuştaki bağlantılar kesilmez. Yani listeyi sıkılaştırmanıza neden olan işi öldürmeden çalışma ortasında kuralı değiştirebilirsiniz.
Nerede yapılandırılır
Kısıtlamak istediğiniz proxy'yi panelde açın, Ayarlar'a tıklayın, ardından Alan Adı Kısıtlamaları sekmesine geçin. Mod açılır menüsü ve satır başına bir host girildiği bir metin alanı göreceksiniz. Kaydet'e basın; kural yeni bağlantılar için bir iki saniye içinde yürürlüğe girer.
Aynı yüzey API üzerinden de kullanılabilir — bu, onlarca proxy'yi programatik olarak yönetiyorsanız önemlidir. REST API hızlı başlangıç kılavuzuna ve aşağıdaki API bölümüne bakın. Çok sayıda proxy'yi aynı anda yönetiyorsanız toplu işlemler rehberi tek çağrıda yüzlercesini nasıl ele aldığınızı anlatır.
Joker sözdizimi ve eşleşme kuralları
Metin alanındaki her satır bir hostname kalıbıdır. Dört form kabul edilir:
example.com— yalnızca tam apex eşleşmesi.www.example.comveya herhangi bir alt alan adıyla eşleşmez.*.example.com— tam olarak bir DNS etiketiyle eşleşir:api.example.comeşleşir amav2.api.example.comeşleşmez.**.example.com— açgözlü joker, herhangi bir derinlikle eşleşir:a.b.c.example.comeşleşir.api.example.com:443— porta özel eşleşme, nadiren gerekli ama geçerli.
Hem apex hem de tüm alt alan adlarını istiyorsanız ayrı satırlara ekleyin:
example.com
**.example.com
Eşleşme, istemcinin beyan ettiği hostname üzerinde gerçekleşir; çözümlenen IP'de değil. HTTP CONNECT ve SOCKS5 tünelleri için bu, istemcinin isteğine koyduğu host'tur. HTTPS tünelleri için TLS el sıkışmasındaki SNI alanıdır. Sistem, izin verilen bir hostname'e ait olduğunu iddia eden bir hedef IP'ye asla güvenmez — o yön kolayca sahtelenebilir.
Engellenen istekler nasıl görünür
Mevcut kural tarafından engellenen bir hostname'e ulaşmaya çalışan istemci, ağ seviyesinde zaman aşımı almaz — açık bir proxy seviyesi reddi alır:
HTTP/1.1 403 Forbidden
X-Nodetonet-Reason: target-not-allowed
SOCKS5 istemcileri 0x02 koduyla Rule failure yanıtı alır. Bu, proxy'nin deneyip hedefin yanıt vermediği anlamına gelen DNS çözümleme hatası veya bağlantı zaman aşımından farklıdır. Proxy'den gelen temiz bir 403, "prensipte reddettik — bu hedef listenizde yok" anlamına gelir.
Her engellenen deneme, talep edilen host ile birlikte proxy'nin istek günlüğünde BLOCKED · domain olarak görünür; böylece eksiksiz bir adli izleme yolu olur. Scraper'ınız takıldığını bildiriyorsa ancak panel hem sıfır engelleme hem de sıfır izin gösteriyorsa, istek tünele hiç ulaşmamıştır — alan adı listesine değil, istemcinin proxy yapılandırmasına bakın.
Pratik kalıplar
Tek-site scraper
Modu izin listesi olarak ayarlayın, tek giriş:
**.targetsite.com
Kimlik bilgileri ele geçirilse bile, saldırgan proxy üzerinden yalnızca o alan adına ulaşabilir. Kaynak tarafındaki IP kısıtlamaları ve istemci başına kimlik bilgileriyle birleştirildiğinde, tek bir proxy için mümkün olan en kısıtlı yapıdır.
Staging sandbox
Dahili staging hostname'inizle izin listesi:
*.staging.internal
Bu proxy'ye atanan bir test sorumlusu aynı uç nokta üzerinden yanlışlıkla production'a yönelemez. Test ortamında eş zamanlılığı sınırlamak için thread limitleriyle birleştirin.
Telemetri ve reklam ağlarını engelle
Modu yasak listesi olarak ayarlayın, sık kullanılan analitik uç noktalarını ekleyin:
*.google-analytics.com
*.doubleclick.net
*.facebook.net
*.hotjar.com
Bu proxy üzerinden eşleştirilmiş herhangi bir cihaz, istemci uygulaması talep etse de etmese de bu servislere bildirim göndermeyecektir. Paylaşılan bir mobil proxy için hafif bir gizlilik modu sağlar.
Uyumluluk kapsamı
Aşağı yöndeki istemcilerin ne talep ettiğinden bağımsız olarak belirli içerik kategorilerinin altyapınızdan transit geçmemesi gereken düzenlenmiş bir ortamda faaliyet gösteriyorsanız, ilgili alan adlarının yasak listesi proxy'nin bu kuralı ağ katmanında uygulamasını sağlar — istek hiç proxylenmeden önce. Sonrasında günlük incelemesi yine tavsiye edilir, ancak kural yapısaldır ve günlük incelemesine bağlı değildir.
API kontrolü
Alan adı kısıtlamaları tamamen betiklenebilir. Komut satırından izin listesi ayarlamak için:
curl -X PATCH -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"domainMode":"allow","domainEntries":["**.targetsite.com"]}' https://nodetonet.com/api/v1/proxies/<id>
domainMode alanı off, allow veya deny değerlerini kabul eder. domainEntries dizisi panelin joker sözdiziminin aynısını kullanır. Tüm alan adı filtrelemesini devre dışı bırakmak için {"domainMode":"off","domainEntries":[]} gönderin. Birçok proxy'yi bir seferde eşleşen kurallarla hazırlamak için toplu işlemler ve Python tünel oluşturma kılavuzuna bakın.
Alan adı kısıtlamaları ve IP kısıtlamaları — hangisini kullanmalı
İki kısıtlama türü ortogonaldir ve birbirini tamamlar:
- IP kısıtlamaları — kaynağı filtreler. Proxy'yi kimin kullanabileceğini kontrol eder. Örnek: yalnızca scraper sunucunuzun IP'si bağlanabilir.
- Alan adı kısıtlamaları — hedefi filtreler. Proxy'nin nereye gitmeye razı olduğunu kontrol eder. Örnek: yalnızca
**.targetsite.com'a ulaşılabilir.
Maksimum kapsama için ikisini aynı anda uygulayın. Kaynak-IP kısıtlamaları yetkisiz kullanıcıların bağlanmasını tamamen durdurur; alan adı kısıtlamaları kimlik bilgileri sızarsa patlama yarıçapını sınırlar. Biri diğerinin yerine geçmez. Üst üste ekleyebileceğiniz kalan istemci başına kontroller için kota limitlerine ve zaman sınırlı istemcilere de bakın.
İlgili özellikler ve sonraki adımlar
- IP izin ve yasak listeleri — aynı fikrin tünelin kaynak tarafına uygulanmış hali.
- Müşteri başına proxy istemcileri — paylaşılan bir tünelde aşağı yöndeki tüketici başına alan adı kurallarının kapsamını belirleyin.
- Denetim günlükleri — bir tünel üzerinden hangi host'ların talep edildiğini tam olarak görün.
- Nodetonet hızlı başlangıç — platformun geri kalan turu.
- Tüm Nodetonet özellikleri — eksiksiz yetenek genel bakışı.
- Ücretsiz hesap oluşturun ve alan adı kısıtlamalarını dakikalar içinde deneyin.