2014-05-09 2 views
4

У меня есть несколько веб-приложений, работающих в экземпляре Tomcat.Как защитить паролем приложения от mod_proxy в Apache?

У них есть экземпляр Apache, используя mod_proxy.

Каждое веб-приложение представляет собой силос само по себе, каждый со своим собственным хранилищем учетных данных пользователя и аутентификацией пользователя и авторизацией. Я хочу продолжать использовать это.

Однако я хотел бы применить простую защиту паролем на уровне Apache - возможно, просто одно имя пользователя/пароль с использованием Basic Auth - до того, как запросы будут перенаправлены на экземпляр Tomcat. Это возможно? и как это можно сделать?

ответ

9

Вы можете сделать это в пределах <Location> директивы

Пример:

ProxyPass /mytomcatapp http://localhost:8080/app1 

<Location /mytomcatapp> 
    AuthType Basic 
    AuthName "Wrapper auth" 
    AuthBasicProvider file 
    AuthUserFile "/path/to/users.htpasswd" 
    Require valid-user 
</Location> 

Это даст вам HTTP Basic Auth при ударе yoursite.com/mytomcatapp

+0

Спасибо. Это оказалось очень полезным и точным. – Vihung

+0

Я создал файл конфигурации Apache, называемый, например, foo.conf, который имеет директиву ProxyPass и директиву Location. – Vihung

+0

Я создал новый файл с именем foo.htpasswd в том же месте (так что в foo.conf, /path/to/users.htpasswd указывает на foo.htpasswd) и использовал генератор на http://www.htaccesstools.com/htpasswd-generator/для создания имен пользователей и паролей – Vihung

Смежные вопросы