我正在尝试测试 apache httpd 网络服务器的基本身份验证模块。出于某种原因,当我打开它时,浏览器似乎甚至无法连接到服务器。详情如下。任何帮助将不胜感激。
OS: Mac OSX
Apache/Mysql
Browser: Safari
我有一个 mysql 数据库“mydb”,在名为“login”的表中存储用户名和密码。密码使用 SHA 加密。
我的目录结构如下
/Users/Myname/Sites
/Users/Myname/Sites/Secret
我想保护 Secret 文件夹。
在 httpd.conf 中我有以下几行
DBDriver mysql
DBDParams "dbname=mydb user=admin password=myadminpasswd"
DBDMin 4
DBDKeep 8
DBDMax 20
DBDExptime 300
<Directory "/Users/Myname/Sites/Secret">
# core authentication and mod_auth_basic configuration
# for mod_authn_dbd
AuthType Basic
AuthName "My Server"
AuthBasicProvider dbd
# core authorization configuration
Require valid-user
# mod_authn_dbd SQL query to authenticate a user
AuthDBDUserPWQuery "SELECT password FROM login WHERE username = %s"
</Directory>
在此之后我重新启动 apache httpd 服务器。我什至无法访问 http://localhost了。 它给出了以下错误: Safari 无法打开“http://localhost/”页面,因为 Safari 无法连接到服务器“localhost”。
我希望能够访问本地主机但不能访问 http://localhost/~myname/Secret
有人知道哪里出了问题吗?
我相信我可以通过以下方式访问 secret 文件夹 http://mysername:mypasswd@localhost/~myname/Secret
注意:我已经确保在 httpd.conf 中加载了以下内容
mod_authz_user.so
mod_authn_dbd.so
谢谢 英里每小时
最佳答案
请检查您的 apache 服务器日志,看看在启用身份验证的情况下重新启动它时出现的错误
关于mysql - 开启 Apache Basic Auth 导致服务器连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682931/