Я хотел бы установить особую конфигурацию на нашем веб-сервере apache. Я хочу отображать сайты для пользователей в соответствии с их IP-адресами.
Мы планируем обновить наши веб-сайты. Во время обновления мы создадим сайт обслуживания: чтобы все пользователи, которые будут подключаться к нашим сайтам, получат этот сайт.
Обновление затронуло 200 веб-сайтов, поэтому я не хочу менять настройки apache для каждого из них.
Чтобы протестировать обновление, мне нужно настроить apache, чтобы разрешить доступ к запрашиваемому сайту только моему IP-адресу. Если мой IP-адрес a.b.c.d и если я прошу test.com, я хочу его увидеть. но все остальные пользователи, имеющие другой IP-адрес, должны получить обслуживаемый сайт, даже если они ищут test.com.
Наш веб-сервер размещен вне офиса (ovh.com, Франция). Тестировщиками выступают разработчики нашего офиса и я. Мы можем взять некоторые сайты и включить их для тестирования, в котором мы реализуем ограничения IP на каждом веб-сайте: идея заключается в этих веб-сайтах, если IP-адрес посетителя отличается от IP-адреса нашего офиса, мы перенаправляем этого посетителя на наш веб-сайт обслуживания, иначе мы отображаем веб-сайт.
Есть ли способ сделать это?
Спасибо.
Настройте отдельную машину (виртуальную?) Для обслуживания текущего контента и направления на него всего нового трафика. Затем обновите свой другой сервер, добавив новый контент. Когда вас устраивает новый контент, направьте весь трафик обратно на главный сервер. Это дает дополнительное преимущество, так как не требует страницы обслуживания.
Где находится ваш сервер? Если это то же место (с точки зрения сети), что и ваши тестеры, поэтому у вас есть локальный IP-адрес, а также общедоступный IP-адрес, тогда вы можете настроить сервер на прослушивание локального IP-адреса в том же диапазоне, что и ваши тестеры, и используйте локальный DNS для разрешения действующего сайта на этот IP-адрес.
Для этого вам все равно нужно будет отредактировать свои vhosts, но, честно говоря, я не вижу способа избежать этого, учитывая предоставленную вами информацию.
Я думаю, вы можете найти это для тестирования новая версия сайта с использованием отдельного vhost для новой версии сайта и использование другой директивы ServerName (например, testing.yourdomain.com) даст вам больше гибкости, чем что-то умное с IP-адресами. Затем, когда вы будете готовы к запуску, вы можете просто изменить ServerName на live servername.
Тем не менее, возможность обслуживать разный контент для разных IP-адресов - полезная вещь, особенно если вы хотите проверить производительность разных версий сайта с разными посетителями или обслуживать контент на основе геолокации, полученной из IP-адреса.
Если вы этого хотите, то можете проигнорировать мой ответ. Но если вам нужно предоставить доступ к тестовой площадке лишь небольшому количеству людей, пока она не будет завершена, постарайтесь сделать это как можно проще.