我的 vhost conf 文件中有以下设置:
<Location / >
AuthType Basic
AuthUserFile /etc/apache2/.htpasswd
AuthName "Please log in with your Apache username and password"
Require valid-user
</Location>
但是当我访问该网站并输入正确的凭据时,我看到一个空白页,仅显示“HTTP 401 无效凭据”。
我确信这些凭证是正确的,原因有二:
- 当我输入无意义的凭证时,身份验证弹出窗口会再次出现,提示我重试。但输入正确的凭证时,它不会再次出现。
- 当我尝试使用无意义的凭证时,我在访问日志中看到一条消息,提示“未找到用户 foo”。但是使用正确的凭证时,我看不到这条消息。
什么原因会导致这个问题?我正在进行 SSL 重定向,我想知道这会影响它吗?如果我可以提供更多信息来帮助您回答这个问题,请告诉我。谢谢!
编辑:通过 grep 搜索“无效凭证”,我发现问题是由 CiviCRM 和 Authx 扩展引起的。我接受了引导我找到这个问题的答案。
答案1
您收到 401 很可能不是因为凭据无效,而是因为您尝试访问某些不允许的内容:没有 index.html 且未Options +Indexes
配置的文件夹。
尝试删除身份验证并重复相同的请求。或者尝试请求指定的文件,例如/favicon.ico
至于消息HTTP 401 Invalid credential
,我相信您自己添加了它,因为默认错误页面显示的内容如下
Authentication required! or Unauthorized!
This server could not verify that you are authorized...