Soru seviyesi ile ilgili basit cevap
DNS'in egzotik kullanımlarını ve ayrıca DNS aramasını tersine çevirerek (soru ile ilgili değildir), neredeyse tüm DNS kullanımı şu şekildedir:
- İstemci bir DNS sunucusuna etki alanı adı (tam olarak nitelenmiş veya başka şekilde) gönderir
- DNS sunucusu kayıtlarından etki alanı bilgilerini döndürür. Genellikle istenen temel bilgiler ya o etki alanındaki web / e-posta ile iletişim kurmak için kullanılan IP adresidir ya da bu bilgileri daha iyi sağlayabilen başka bir DNS sunucusunun IP adresidir.
İstemci sunucuyla bağlantı kurduktan sonra, sunucunun kendisi devralınır ve DNS sistemi resimden çıkar.
Bunun anlamı, DNS sisteminin bağlantı noktası bilgilerini sağlaması gerekmez ve neredeyse hiç sağlamaz. Bu nedenle, sorunun amacı geçerli ve sık sık yapılsa da, aslında bunu yapan DNS sistemi değildir. Bu yüzden çalışamazsın :)
Fikir, müşterinizin aradığı makineyi veya sunucuyu bulabilmesi durumunda, seçtiği herhangi bir portu dinlemek ve yapılandırılmış portlardaki herhangi bir protokolü kabul etmek / reddetmek / yanıtlamak o makineye bağlıdır.
Örneğin, HTTP web hizmetleri genellikle bağlantı noktası 80'de sağlanır. Bu, istemci bir makine IP'si tanıdığında, bağlantı noktası 80'e bir mesaj göndermenin, söz konusu mesajın o makinenin web hizmeti tarafından okunmasına / yanıtlanmasına neden olacağını varsayabilir. Ama böyle olmak zorunda değil. Sunucu, 9000 numaralı bağlantı noktasında web'den gelen istekleri dinleyecek şekilde yapılandırılmışsa, 9000 numaralı bağlantı noktasına erişebilen herhangi bir istemci kendi web hizmetine erişebilir. Sunucu, 10000 numaralı bağlantı noktasını 9000 numaralı bağlantı noktasına yönlendiren bir proxy / NAT / yönlendiricinin arkasındaysa ve istemci 10000 numaralı bağlantı noktasında bir web isteği gönderirse, sunucu bunu 9000 numaralı bağlantı noktasında alır ve yanıt verir.
Web sunucusunda yönlendirme / eşleme
Bir yönlendirmede yeniden yönlendirme veya yeniden yazma hakkında soru sordunuz. Bunlar bir web sunucusunun yapabileceği işlevlerdir. Temel olarak, web sunucusunu (veya çoğu / birçok web sunucusunu) bir istekte aldığı URL'yi nasıl işleyeceğini yönetecek şekilde yapılandırabilirsiniz. Bu nedenle, farklı URL'lerin aynı şekilde ele alınmasını sağlamak için makbuzdaki URL'yi dahili olarak değiştirebilir veya ortak yazım hatalarını (eşleme) düzeltebilir veya gerçekte, istemciye farklı, yeni bir URL kullanarak ikinci kez sormasını söyleyebilir. (yönlendirme).
Bunların kullanımları vardır ve prensip olarak kullanım durumunuzu halledebilirler, ancak bu nedenlerden dolayı sizin için "doğru" çözüm gibi görünmüyorlar:
- Haritalamanın hiç yardımcı olacağını düşünmüyorum . Haritalama web sunucusuna neredeyse tamamen iç, o "ele alırız bu öyle sanki URL'yi o URL". Örneğin, bir kullanıcının " https://example.com/index.php?area-=forum&topic " adresini kullanarak çok eski, eski ve geçerli URL'leri (kullanıcı rahatlığı için) kullanarak bir forumu sorgulamasına izin vermek için web sunucusu URL eşlemesini kullanabilirsiniz. = 2 ", ayrıca" https://example.com/forum.php?topic=2 "ve ayrıca" https://forum.example.com?topic=2"sorgusunu kullanın ve sorguyu işlemenin ilk adımı olarak bunların ilk ikisini dahili olarak üçüncü URL'ye eşleyerek bunu bir kez ele alın. Bu hedefler IP / bağlantı noktasını değil sorgu yolunu etkilediğinden eşleme, port yönetimi ve sizin durumunuzda, müşteri aslında 8080'i hiç sorgulamaz.
- Yönlendirme işe yarayabilir, ancak istediğiniz şey olmayabilir . Web sunucusundaki yeniden yönlendirme, sorguyu gerçekten alan web sunucusuna bağlıdır (çünkü bunlar web sunucusunun dahili işlevleridir). Bu nedenle web sunucusunun, yönlendirme / haritaya yanıt vermek için orijinal sorguyu almak için yine de 80 numaralı bağlantı noktasını dinlemesi gerekir. Ayrıca, 8080 numaralı bağlantı noktasını da dinlemesi gerekir. İşlevsel olarak, herhangi bir istemci 80 numaralı bağlantı noktasını sorgulamak, "istediğiniz" gibi görünmeyen ": 8080" URL'sini kullanarak yeniden sorgulamak için bir yönlendirme kuralı gerekir. yapmak. Kullanıcı ayrıca içinde ": 8080" bulunan yeni URL'yi görürken, "şeffaf" ve gösterilmemesini istediğiniz gibi görünür.
- Ayrıca yeniden yönlendirme yalnızca standart bir bağlantı noktasını (80 veya 443) yeniden yönlendirmek için işe yarayacaktır - 2000'den 8080'e kadar bağlantı noktasını yeniden yönlendiremezsiniz, çünkü istemci varsayılan olarak 2000'de sorgulamayacaktır, bu yüzden hiç olmaz 2000'de dinlemiş olsa bile web sunucusuna gidin. Bu sizin için bir sorun olmayabilir.
Bununla birlikte, yalnızca belirli sorguların 8080'e yönlendirildiği "akıllı" yeniden yönlendirme istiyorsanız, bu gitmek için bir yol olabilir, çünkü yönlendirme, hangi URL'lerin yeniden yönlendirilmesi gerektiğine karar vermek için mantık içerebilir, ancak bağlantı noktası eşlemesi (aşağıda) her şeyi eşler .
Doğru nasıl yapılır
Sorunuzun cevabı, web sunucusunun istemcinin varsayılan bağlantı noktasına (80/443) gönderdiği, ancak sunucunun 8080 numaralı bağlantı noktasında aldığı web isteklerine yanıt vermesini istemenizdir.
Bu, görebileceğiniz gibi, istemci ile sunucu arasındaki bağlantı noktalarını eşleyen bir şeye ihtiyacınız olduğu anlamına gelir . Bu şekilde, istemci bağlantı noktası 80'e (web tarayıcıları tarafından kullanılan varsayılan bağlantı noktası) gönderir, ancak aslında web sunucusu tarafından 8080 bağlantı noktasına alınır. Tabii ki, web sunucusunu 8080 bağlantı noktasını dinleyecek şekilde yapılandırmanız gerekecektir, çünkü bu standart değildir, ancak bu kolaydır ve herhangi bir web sunucusunun kendi dinleme bağlantı noktalarını belirtmesi gerekir.
Bunu yapmanın en genel yolu, bağlantı noktası eşleme yoluyla yönlendirici / güvenlik duvarı içinde olacaktır.
Basit bir ifadeyle, bunu yapmak için yönlendiriciye, hedef IP'si ve hedef bağlantı noktası = 80 olan alınan her şeyin, hedef bağlantı noktası 8080 olarak değiştirilerek LAN'a geçirilmesi gerektiği konusunda bir kural verilir. Ne web sunucusu ne de istemci değişiklikten haberdar olmayacaktır (yönlendirici tarafından% 100 işlenir), bu nedenle her ikisi için de% 100 şeffaf olacaktır. İstemcinin URL'sinde ": 8080" olmayacak ve 80 numaralı bağlantı noktasını sorguladığı ve web sunucusu 80 numaralı bağlantı noktasını yoksayabilir ve yalnızca 8080 üzerinde dinleyebileceği için hiçbir şeyi yeniden yönlendirmesi gerekmez. .
"Bağlantı noktaları için DNS" nin yapacağı gibi basit ve anlaşılır bir yol istiyorsanız, bu muhtemelen sorunuzda sorduğunuza en yakın eşdeğerdir.