it-swarm-tr.com

OS X üzerindeki / etc / hosts dosyamdaki bir girişte bir bağlantı noktası belirleyebilir miyim?

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ı?

51
Tony

Hayır, hosts dosyası, DNS sunucusu olmadığında adları statik olarak çözmenin bir yoludur.

47
Chief A-G

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

:-)

45
Kyle Brandt

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

12
stuart Brand

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.

4
retracile

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.

3
James F

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 ...

2
Bart Silverstrim

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.

  1. Hosts dosyasındaki kaydı 127.0.0.1 xyz.com olarak ayarlayın
  2. Makinenizi sanal ana bilgisayarlar için yapılandırın .
  3. Xyz.com için ayarladığınız sanal Ana Bilgisayar için localhost'a yönlendiren bir html dosyası oluşturun: 3000

Oldukça küçük bir iş gibi görünüyor, ama sorduğunuz şeyi başaracak.

2

bunun Rails geliştirme?

1
Ryan

; '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.

1
evilchili

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.

0
Rory