Hostname para Localhost com Port - OSX [closed]

14

Estou tentando executar vários servidores web Node.js localmente em minha máquina.

Como o código que estou escrevendo precisa fazer referência a um nome de domínio, eu gostaria de manter uma convenção de dev.myHost.com e apontar para o serviço não-port-80 executado a partir do Nó (tecnicamente, estou executando um Harp.j s e um em Sails.js ).

  • Portanto, dev.hostOne.com deve apontar para localhost:123
  • e dev.hostTwo.com devem apontar para localhost:456

Isso é possível? Se sim, como.

    
por mondo 08.02.2014 / 06:21

1 resposta

21

Pelo que entendi, parece que você usa somente uma máquina dev local, ou seja, não está conectada a nenhuma rede que forneça um DNS.

Se eu estiver certo, sugiro que você configure as coisas descritas abaixo:

passo 1: Atribua pelo menos dois endereços IP ao seu SO MAC (um por domínio), digamos:

192.168.0.10
192.168.0.11

Para configurar o segundo IP, você terá que adicionar um segundo adaptador Ethernet (lógico e não físico).

Etapa 2: Como você não tem um servidor DNS, pode configurar o arquivo /etc/hosts , adicionando:

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

Etapa 3: atribua aliases à sua interface de loopback:

sudo ifconfig lo0 192.168.0.10 alias
sudo ifconfig lo0 192.168.0.11 alias

Etapa 4: configure ipfw para encaminhar pacotes:

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

Você terminou!

Agora:

  • O link redireciona para localhost:123
  • O link redireciona para localhost:456

Configurei dois servidores web Node.js para testar seu caso:

$ 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

Importante: observe que as regras ipfw e os aliases de interface de loopback não são persistentes e não existirão mais após a reinicialização. Então, considere adicionar um script de inicialização.

    
por 09.02.2014 / 19:54