Как переслать внешний IP на несколько локальных серверов? - PullRequest
2 голосов
/ 11 ноября 2011

Я занимаюсь разработкой приложения для iPhone, в котором в качестве веб-сервера я использую локальный Mac. У меня также есть другой Mac, который я планирую использовать в качестве резервной копии. У меня вопрос - учитывая, что в приложении есть один URL-запрос, возможно ли перенаправить запрос на любой из компьютеров?

Я много читал о переадресации портов, но не видел случая, когда вы можете пересылать на несколько локальных веб-серверов.

EDIT:

Выбор сервера может быть случайным или последовательным - если первый не отвечает, попробуйте второй. Я хочу сказать, что в случае, если мой основной сервер по какой-то причине отключится (например, перезагрузится), будет другой, который ответит. Я не хочу распределять нагрузку трафика.

1 Ответ

0 голосов
/ 11 ноября 2011

Я предполагаю, что у вас есть две машины на счастливой стороне брандмауэра / маршрутизатора NAT .

Я предполагаю, что вы хотите, чтобы ваши запросы обрабатывались любым сервером вrandom .

Round robin DNS

Один из возможных способов сделать это - дать обоим компьютерам одинаковое имя хоста на DNS-сервере (большинство маршрутизаторов предоставляют программное обеспечение DNS).Если программное обеспечение вашего маршрутизатора позволяет назначать два IP-адреса конкретному имени хоста (многие могут) и позволяет назначать короткий DNS TTL, вы можете перенаправить порт на hostname , и пусть round robin DNS обеспечивает дешевую балансировку нагрузки для вас.

Это зависит от вашего DNS-сервера, рандомизирующего ответы на циклические DNS-запросы, а также полагаетсяна вашем роутере запрашивать у DNS адреса для пересылки.(Что является самой слабой частью моего предложения - перенаправление на имя хоста определенно забавная вещь для желания.)

Явный выбор порта

Другая возможность для васмаршрутизатор должен иметь три порта, настроенных для пересылки: перенаправить порт 80 на сценарий, который случайным образом перенаправляет (ответ 302) на порт 81 или порт 82.Прямой порт 81 на одну машину, порт 82 на другую машину.Это сделает ваши URL более уродливыми (http://www.example.com:81/path/to/resource), но к вашему маршрутизатору будет предъявляться меньше требований.

...