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

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

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

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

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

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

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

Спасибо.

3 ответа

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

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

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

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

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

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

Другие вопросы по тегам