У меня есть кластер веб-серверов Apache, использующих циклический перебор для примитивной балансировки нагрузки. Есть ли способ заставить firefox или chrome запрашивать это имя сервера с определенного IP-адреса?
Если просто ввести http://1.2.3.4 , он не получает ServerName, и если вы введете http: // имя сервера, вы можете получить любой из серверов.
Вам необходимо изменить заголовок HTTP Host.
Видеть:
http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
Я делаю это с помощью curl:
curl -H host:servername http://1.2.3.4
Вам могут пригодиться следующие плагины:
https://addons.mozilla.org/en-us/firefox/addon/modify-headers/
https://addons.mozilla.org/en-US/firefox/addon/tamper-data/eula/33806
Я предполагаю, что вы имеете в виду циклический перебор DNS. В этом случае основной способ, который я могу придумать, - это просто отредактировать ваш / etc / hosts, чтобы указать на любой бэкэнд, который вы хотите попробовать в конкретный момент:
1.2.3.4 servername
Возможно, после этого вам придется перезапустить браузер, чтобы убедиться, что он не использует кешированный ответ DNS.
Также вы можете добавить дополнительные записи в свой DNS, такие как servername-001, -002 и т. Д., И настроить свои бэкэнды, чтобы они принимали эти имена в качестве ServerAlias для VirtualHost, к которому вы стремитесь. Конечно, вы также можете просто установить VirtualHost по умолчанию, чтобы он работал с IP-адресом, и пропустите этот последний шаг, если ваше приложение не предполагает, что оно работает с определенным именем.
Изменить: это может быть полезно - это расширение Firefox, которое позволяет изменять заголовки запросов. Возможно, вы могли бы изменить Host
для посещения серверных ВМ, напрямую указав ServerName. Но я не пробовал.
https://addons.mozilla.org/en-us/firefox/addon/modify-headers/