Назад | Перейти на главную страницу

Имя хоста для локального хоста с портом - OSX

Я пытаюсь запустить несколько Node.js веб-серверы локально на моей машине.

Поскольку код, который я пишу, должен ссылаться на доменное имя, я хотел бы сохранить соглашение о dev.myHost.com и укажите это на службу без порта 80, работающую с узла (технически я запускаю один на Harp.js и один на Sails.js).

Это возможно? Если да, то как.

Насколько я понимаю, кажется, что вы используете только одну локальную машину разработчика, то есть не подключены к какой-либо сети, которая предоставляет DNS.

Если я прав, я бы предложил настроить такие вещи, как описано ниже:

шаг 1 : Назначьте как минимум два IP-адреса для вашей MAC OS (по одному на домен), скажем:

192.168.0.10
192.168.0.11

Чтобы настроить второй IP-адрес, вам необходимо добавить второй адаптер Ethernet (логический, а не физический).

Шаг 2 : Поскольку у вас нет DNS-сервера, вы можете настроить свой /etc/hosts файл, добавив:

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

Шаг 3 : Назначьте псевдонимы вашему интерфейсу обратной связи:

sudo ifconfig lo0 192.168.0.10 alias
sudo ifconfig lo0 192.168.0.11 alias

Шаг 4: Настроить ipfw для пересылки пакетов:

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

Вы сделали !

Сейчас :


Я установил два Node.js веб-серверы для проверки вашего случая:

$ 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

Важный : Обратите внимание, что ipfw правила и псевдонимы интерфейса обратной связи не являются постоянными и больше не будут существовать после перезагрузки. Поэтому подумайте о добавлении сценария запуска.