由于从 Apache 2.2 切换,许多 JkMount(jk-status 除外)的授权都会被绕过。如果我取消浏览器密码弹出窗口,就会出现 401 页面。正如我所料,它不是来自 Apache 的页面,而是来自 JBoss 的页面,它不应该被允许与 JBoss 对话。(我发现这是因为未经授权的用户正在与 JBoss 对话。)
在接收端,我们同时拥有 JBoss 4 和 Wildfly 7。这两者都带有“Apache/2.4.3 (Unix) mod_jk/1.2.37”和“Apache/2.4.10 (Unix) mod_jk/1.2.40”。配置总是像
<Location /XYZ/*>
JkMount XYZ
AuthType basic
AuthUserFile conf/passwd/XYZ
AuthName "XYZ security"
Require valid-user
</Location>
我甚至遇到过这样的情况:相同的设置(工作器定义、<Location>
文件权限和内容)在 2.4.3 上有效,但在 2.4.10 上无效。对于其他 JkMounts,两个版本的行为都不正确。如果我提高调试级别,我看不到它如何解析这一点。当我调用 URL 时,它说没有指令保护它。
答案1
事实证明,JkMount 的嵌套 1-arg 语法非常无用,因为它需要尾随通配符,而 Location 无法理解它。有效的方法是将其拉出:
JkMount /XYZ/* XYZ
<Location /XYZ>