我在前面配置Apache霍蒂奥- Karaf 托管的 JVM 管理控制台。尽管 Hawtio 由 Jetty 提供服务并受 Karaf 的 JAAS 实现保护,但我们希望 Apache 添加 Basic Auth,以便我们能够进一步保护它 - 例如使用 Fail2Ban 防止暴力攻击。
然而,尽管遵循了以下建议,这和这,Apache 的基本身份验证不断弹出,而不是只要求输入一次凭据。Hawtio 的登录页面在两次请求凭据后加载,但是,一旦您输入了 Hawtio 登录详细信息,Apache 就会不断弹出其登录页面。我甚至输入了 20 次凭据,但它仍然要求更多!
我是否遗漏了一些显而易见的东西?
这是我的配置:-
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName hawtio.mydomain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
# suppress rule checking for Hawtio stuff
SecRuleRemoveById 950901 960010 970003 970014 981257 981318 981407 981205 981222 981240 981220
<Location />
ProxyPass http://application-server:8765/
ProxyPassReverse http://application-server:8765
AuthUserFile /etc/users
AuthName "Restricted area"
AuthGroupFile /dev/null
AuthType Basic
Require valid-user
RequestHeader unset Authorization
</Location>
</VirtualHost>
我尝试过多种变化,包括与<Proxy>
小组合作,但<Location />
都无济于事。根据这个帖子,我补充说,RequestHeader unset Authorization
看看是否是 Jetty 在抱怨,但无论该指令是否存在都没有任何区别。
如果我删除基本身份验证指令,该网站就可以完美运行。
谢谢您的指点。
答案1
您需要设置 cookie 或以某种方式缓存凭据。我在使用一次性密码配置 Apache 时见过这种情况。mod_auth_radius 支持 AuthRadiusCookieValid。不确定您会在这里使用什么。