Я хочу ограничить доступ к данному сайту по двум критериям:
Однако для каждого диапазона IP-адресов будет свой список комбинаций имени пользователя и пароля (я разделяю клиентов по исходному IP-адресу, а затем требую аутентификации). Каждый клиент, который приходит с действительного IP-адреса и предоставляет соответствующую комбинацию имени пользователя и пароля (или дайджест в данном случае) для этого IP-адреса, будет подключаться к тому же имени хоста и видеть один и тот же сайт, обслуживаемый из того же корня документа.
Я хотел бы сохранить эту конфигурацию в конфигурации Apache, если это возможно, чтобы не изобретать колесо в моем приложении, и иметь что-то вроде этого:
if client_ip = 1.1.1.1
digest_file = /etc/digests/customer1
elseif client_ip = 2.2.2.2
digest_file = /etc/digests/customer2
else
deny access
Можно ли это сделать на одном виртуальном хосте? Я использую Apache 2.2.9 на Debian и могу загружать модули, если это необходимо.
Я также подумал об использовании другого имени хоста и контейнера виртуального хоста для каждого клиента, а также о размещении для каждого другого диапазона IP-адресов и ссылки на файл дайджеста, но, к сожалению, этот сайт будет работать по HTTPS, и я подозреваю, что получение всех дополнительных IP-адресов будет недопустимым в сроки стоимости.