Отображение сайта обслуживания для запрашивающих на основе их IP-адреса

Отображение сайта обслуживания для запрашивающих на основе их IP-адреса

Я хотел бы установить специальную конфигурацию в нашем веб-сервере Apache. Я хотел бы отображать сайты пользователям в соответствии с их IP-адресами.

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

Обновление затронет 200 веб-сайтов, поэтому я не хочу менять настройки Apache для каждого из них.

Чтобы протестировать обновление, мне нужно настроить Apache так, чтобы только мой IP-адрес мог получить доступ к запрашиваемому сайту. Если мой IP-адрес abcd и если я запрашиваю test.com, я хочу его увидеть. Но все остальные пользователи, имеющие другой IP-адрес, должны получить поддерживаемый сайт, даже если они ищут test.com.

Наш веб-сервер размещен вне офиса (ovh.com france). Тестировщиками являются разработчики в нашем офисе и я. Мы можем взять несколько сайтов и включить их для тестирования, в котором мы реализуем ограничения IP на каждом сайте: идея заключается в том, что на этих сайтах, если IP-адрес посетителя отличается от IP-адреса нашего офиса, мы перенаправляем этого посетителя на наш сайт обслуживания, в противном случае мы отображаем сайт.

Есть ли способ сделать это?

Спасибо.

решение1

Я думаю, вы можете обнаружить, чтодля тестированияновая версия сайта, использующая отдельный vhost для новой версии сайта и использующая другую директиву ServerName (например, testing.yourdomain.com), даст вам больше гибкости, чем что-то умное с IP-адресами. Затем, когда вы будете готовы к запуску, вы можете просто изменить ServerName на имя живого сервера.

Однако возможность предоставлять разный контент для разных IP-адресов — полезная вещь, особенно если вы хотите протестировать производительность разных версий сайта с разными посетителями или предоставлять контент на основе геолокации, полученной из IP-адреса.

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

решение2

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

Для этого вам все равно придется редактировать vhosts, но, честно говоря, я не вижу способа избежать этого, учитывая предоставленную вами информацию.

решение3

Настройте отдельную машину (виртуальную?) для обслуживания текущего контента и направляйте весь новый трафик на нее. Затем обновите другой сервер новым контентом. Когда вы будете удовлетворены новым контентом, направляйте весь трафик обратно на основной сервер. Это имеет дополнительное преимущество, так как не требует страницы обслуживания.

Связанный контент