我正在尝试使用 apache basic auth 仅保护我的主页。
这似乎对所有东西都有效,而不仅仅是 hp
<LocationMatch "/">
AuthType Basic
AuthName "heelooo?"
AuthUserFile /var/path/.htpasswd
Require valid-user
</LocationMatch>
将正则表达式更改为^/$
或^$
使其不验证任何内容。有什么建议吗?(它正在运行 mod_ruby rails 应用程序)
答案1
最好使用目录指令来设置身份验证。
<Directory /home-path>
AuthName Members
AuthType Basic
Require valid-user
AuthUserFile /auth-file-path/.htpasswd
</Directory>
Ruby-on-rails解决方案:
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "user" && password == "pass"
end
end
答案2
我重新运行了所有尝试,其中一次成功了。我发现 LocationMatch "^/$" 确实有效。我之前肯定做错了什么。basicauth 确实可以与 mod_ruby 配合使用 - 不需要以 fastcgi 运行。感谢大家的帮助。