Bağlantı Noktası ile Yerel Ana Makineye Ana Bilgisayar Adı - OSX [kapalı]


14

Node.jsMakinemde yerel olarak birden çok web sunucusu çalıştırmaya çalışıyorum .

Ben yazıyorum kod bir kural tutmak istiyorum bir dev.myHost.comdüğüm adı referans gerekir ve bu bağlantı noktası-80 servis düğümü (teknik olarak Harp.js ve bir üzerinde çalışan Sails.js) işaret.

  • Yani dev.hostOne.comişaret etmelidirlocalhost:123
  • ve dev.hostTwo.comişaret etmelilocalhost:456

Mümkün mü? Öyleyse nasıl.

Yanıtlar:


23

Anladığım kadarıyla, sadece bir yerel geliştirici makinesi kullandığınız anlaşılıyor, DNS sağlayan herhangi bir ağa bağlı değilsiniz.

Eğer haklıysam, aşağıda anlatıldığı gibi şeyleri kurmanızı öneririm:

1. adım: MAC işletim sisteminize (etki alanı başına bir tane) en az iki IP adresi atayın, diyelim ki:

192.168.0.10
192.168.0.11

İkinci IP'yi kurmak için ikinci bir Ethernet Adaptörü (fiziksel değil mantıksal) eklemeniz gerekir.

2. Adım: Bir DNS sunucunuz olmadığından, /etc/hostsdosyanızı ekleyerek şunları kurabilirsiniz :

192.168.0.10     dev.hostone.com
192.168.0.11     dev.hosttwo.com

3. Adım: Geri döngü arayüzünüze takma adlar atayın:

sudo ifconfig lo0 192.168.0.10 alias
sudo ifconfig lo0 192.168.0.11 alias

4. Adım:ipfw Paketleri iletmek için kurulum :

sudo ipfw add fwd 127.0.0.1,123 tcp from me to 192.168.0.10 dst-port 80
sudo ipfw add fwd 127.0.0.1,456 tcp from me to 192.168.0.11 dst-port 80

Bitirdiniz !

Şimdi:

resim açıklamasını buraya girin resim açıklamasını buraya girin


Node.jsDurumunuzu test etmek için iki web sunucusu ayarladım:

$ netstat -anp tcp | grep -E "123|456"
tcp4    0    0  127.0.0.1:123    *.*    LISTEN
tcp4    0    0  127.0.0.1:456    *.*    LISTEN

Önemli:ipfw kuralların ve geri döngü arabirim diğer adlarının kalıcı olmadığını ve yeniden başlatmadan sonra artık mevcut olmayacağını unutmayın . Bu yüzden bir başlangıç ​​komut dosyası eklemeyi düşünün.


1
GÜZEL çalıştı. Bu tam olarak istediğim şeydi.
mondo

1
Çalışmasına sevindim! tamamen bir "yinelenen" değildi emin oldu;)
krisFR

Mac os sierra üzerinde alma sudo: ipfw: komut bulunamadı
ClintM

3
@ClintM: ipfwile değiştirildi pfctl. Bir limanın nasıl açılacağına dair bir örnek için: gauravsohoni.wordpress.com/2015/04/14/mac-osx-open-port
Joe Atzberger

Cevabı pfctl beklenen biçimde güncellemek gerçekten güzel olurdu.
Simon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.