Olası Kopya:
Alan adını sunucumdaki belirli bir bağlantı noktasına yönlendirmek için DNS nasıl kullanılır
Tarayıcımı xyz.com yerine localhost: 3000'e yönlendirmek istiyorum. OS X 10.5'te/etc/hosts dosyasına girdim ve aşağıdaki girişi ekledim:
127.0.0.1:3000 xyz.com
Bu işe yaramaz, ancak limanı belirtmeden hile çalışır. Bağlantı noktasını belirterek bunu yapmanın bir yolu var mı?
Hayır, hosts dosyası, DNS sunucusu olmadığında adları statik olarak çözmenin bir yoludur.
Hosts dosyası DNS çözümlemesi içindir. DNS, adları IP adreslerine çözümler ve korktuğum bağlantı noktalarıyla hiçbir ilgisi yoktur. Bağlantı noktasını yeniden yönlendirmek için hosts dosyasıyla birlikte başka bir şey kullanmanız gerekir (Hedef bağlantı noktasını değiştirerek TCP üstbilgisini değiştirin).
iptables ile:
MAC OS iptables/netfilter kullanıyor mu? OS X iptables kullanıyorsa, xyz.com'u 157.166.226.25 gibi hosts dosyasındaki bazı iplere işaret edebilir ve sonra:
Sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -d 157.166.226.25 -j DNAT --to-destination 127.0.0.1:3000
:-)
Hosts dosyasında bir bağlantı noktası belirtmeniz gerekmez. 127.0.0.1 xyz.com adresinde olduğu gibi bağlantı noktasını atladığınız gibi bir giriş yapın, bu sizi yerel Ana Makinenize yönlendirecek, ardından URL'nizin sonuna 3000 numaralı bağlantı noktasını ekleyecektir ... http://xyz.com:30
Http'yi değil http'yi durdurmaya çalıştığınızı varsayarsak, yerel makinenizdeki 80 numaralı bağlantı noktasını dinlemeniz gerekir, ancak daha sonra -L80:localhost:3000
, ancak bunu kök olarak yapmanız gerekir.
3000 numaralı bağlantı noktasında çalışan her neyse sahip olmak daha iyi olurdu, bunun yerine 80 numaralı bağlantı noktasını dinleyin.
Siz ve xyz.com arasındaki yönlendiriciyi kontrol ederseniz, bunun yerine bir port yönlendirme kuralı oluşturabilirsiniz.
Bunun için DNS çözümü SRV kayıtlarını kullanmaktır:
http://en.wikipedia.org/wiki/SRV_record
Bunlar, başlangıçta bir "isimden numaraya" ya da "numaradan isim'e" dağıtılmış veritabanı olan DNS'ye, (isteğe bağlı olarak) bir protokol ve bağlantı noktası içerebilecek "hizmet son noktasına isim" eklemesine izin vermenin bir yoludur.
Kötü haber, uygulamaların SRV kayıtlarını kullanmak için geliştirilmeleri gerektiğidir, bu yüzden yapmaya çalıştığınız şey için bir çözüm değildir.
Bağlantı noktası bağlantılarını yeniden yönlendirmek için bir çeşit proxy sunucusu veya güvenlik duvarı yazılımı ile bir şey kullanmanız gerektiğini düşünüyorum ...
Chief-AG, hosts dosyasının adları statik olarak çözmek için kullanılması konusunda haklıdır (DNS varlığı önemsizdir). Ancak, yapabileceğiniz şeylerin bir kombinasyonu olabilir.
Oldukça küçük bir iş gibi görünüyor, ama sorduğunuz şeyi başaracak.
bunun Rails geliştirme?
; 'Nin sanal ana bilgisayarlarına alternatif olarak, 80 numaralı bağlantı noktasını dinleyen ve localhost: 3000'e yönlendiren bir ssh tüneli oluşturabilirsiniz.
Apache'yi xyz.com'da web sunucusu olarak kullanıyorsanız, Apache'nin ProxyPass
öğesini farklı bir porta 'dönüştürmek' için kullanabilirsiniz.