Apache httpd Location 指令不区分大小写

Apache httpd Location 指令不区分大小写

我正在使用一个解决方案,它需要使用 mod_proxy_balancer 和一个应用程序服务器,该服务器会忽略大小写并混合生成内容中发现的 URL 中的不同大小写组合。配置有效,但现在我有了一个新的要求,它会导致问题。

我应该能够创建一个位置指令(按照http://httpd.apache.org/docs/current/mod/core.html#location) 并让 URL 路径以不区分大小写模式进行解释。此要求来自需要向位置添加身份验证指令。正如您可能猜到的那样,用户(或相关应用程序)将一个字母更改为大写会立即绕过保护。httpd 在 Unix 平台上运行,因此每个配置指令默认情况下显然都区分大小写。

在这种情况下,Location 指令中的正则表达式是否应该起作用?有人可以给我展示一个应该起作用的配置示例吗?

如果不能强制正则表达式不区分大小写,我应该修改 httpd 源代码的哪部分?

答案1

<LocationMatch (?i)^/yourcontextroot>
...

(?i) 告诉底层 PCRE 不区分大小写。

相关内容