Назад | Перейти на главную страницу

Сочетание управления доступом по IP с дайджест-аутентификацией в Apache

Я хочу ограничить доступ к данному сайту по двум критериям:

  1. IP-адрес клиента (т.е. находится ли он в допустимом диапазоне) и;
  2. Дайджест-аутентификация.

Однако для каждого диапазона 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-адресов будет недопустимым в сроки стоимости.