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

Apache2 Basic Auth: user @ ip, user2 @ ip2 - возможно ли это?

Я ищу возможность запустить внешний сервис для клиентов, чтобы они могли использовать его здесь, в моем офисе, в то время как клиенты работают удаленно в своем офисе.

Предположения: И мой офисный IP, и клиентский офисный IP статичны.

Я хочу разрешить своим клиентам доступ к службе, например к защищенному административному приложению HTTP Basic Auth.

Есть ли способ в Apache Basic Auth или иным образом создать ограничения на основе User @ IP?

Я хотел бы:

Для тестирования я попробовал этот код:

<Location />
    Satisfy All

    AuthType Basic
    AuthName "Authorisation"
    AuthUserFile /etc/apache2/passwd

    Order deny,allow
    Deny from all
    Allow from 10.0.0.1/32
    Require user me

    Order deny,allow
    Deny from all
    Allow from 10.0.0.2/32
    Require user client1
</Location>

Есть ли известный способ сделать это с помощью Apache Basic Auth?

Кроме того, вместо получения сообщения «Запрещено» для успешного пользователя / пароля с неизвестного IP-адреса, можно ли попросить Apache снова запросить данные пользователя?

Если вы используете Apache httpd 2.4, вы можете использовать для этого новый синтаксис.

<RequireAny>

<RequireAll>
  Require IP 10.0.0.1/32
  Require user me
</RequireAll>

<RequireAll>
  Require IP 10.0.0.2/32
  Require user client1
</RequireAll>

</RequireAny>

Это было бы очень сложно до версии 2.4 без специального обработчика аутентификации.