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

Как сопоставить понятное имя (например, www.example.com) с 127.0.0.1:port# в Mac OS X

Я пытаюсь создать демонстрацию для своего класса и хочу настроить «поддельные» доменные имена на своем ноутбуке.

Предыдущий вопрос «Могу ли я указать порт в записи в моем / etc / hosts на OS X?» содержал ответ, указывающий, что для этого вы должны использовать / etc / hosts плюс изменения в iptables

"Если OS X использует iptables, вы можете указать xyz.com на какой-нибудь ip в файле hosts, например 157.166.226.25, а затем:

sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -d 157.166.226.25 -j DNAT --to-destination 127.0.0.1:3000 "

Поскольку OS X не использует iptables, как мне сделать эквивалент, используя инструменты, доступные в OS X? (исходный «спрашивающий», похоже, знал, как это сделать, поэтому это не объяснялось).

Заранее спасибо.

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

Я не нашел никакого способа выполнить перенаправление портов с брандмауэром, включенным в несерверный дистрибутив, но еще одна вещь, которую вы могли бы сделать, - это настроить веб-сервер apache в качестве обратного прокси или использовать socks.

Если это для демонстрации класса, я бы сделал гораздо проще, чем использовать брандмауэр:

  • Назначьте несколько IP-адресов вашему nic: 127.0.0.1, 157.166.226.25, 10.0.0.1, 1.2.3.4 ...
  • Измените соответствующим образом / etc / hosts.
  • Заставьте ваши различные службы прослушивать эти IP-адреса на порту 80.

Однако этот сайт не предназначен для вопросов, связанных с домом, вам могут быть интересны похожие сайты, например http://unix.stackexchange.com или http://superuser.com