Apache localhost身份验证

时间:2014-01-13 10:25:03

标签: apache2 basic-authentication

我正在尝试为运行apache的localhost上的文件夹设置基本身份验证。目前该应用程序运行正常,无需身份我已经设置了虚拟主机,因此我可以通过dev.myapp.com

访问我的应用程序

我添加到.htaccess文件中以强制进行身份验证的代码是:

<Directory "/Users/myusername/Sites/dev.myapp.com">
  AuthType Basic
  AuthName Test
  AuthBasicProvider file
  AuthUserFile /etc/apache_users
  Require valid-user
</Directory>

我创建了一个用户。

当我在浏览器中输入dev.myapp.com时,我收到内部服务器错误。我对apache很新。正确方向的一点将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

首先,使用.htaccess有点慢,并且要求您相应地设置AllowOverride指令。建议您改为使用httpd.conf来建立基本身份验证。 Apache文档解释了所有这些,请查看此链接http://httpd.apache.org/docs/2.2/howto/auth.html

无论如何,我想我看到了错误。您的<Directory>标记看起来有点奇怪。我们了解您网站的名称是dev.my.app.com,但是该网站dev.myapp.com指向您服务器的文件夹的实际名称是什么?您的httpd.conf文件应该有这样的条目:

<VirtualHost *>
DocumentRoot "document/root/path"
Other directives here
</VirtualHost>

DocumentRoot是Apache指示所有传入网络流量的地方。如果您尝试为整个网站建立身份验证,则DocumentRoot的值很可能是您在目录标记中所需的值...使其成为<Directory /document/root/path>

要找到httpd.conf,请查看/etc/apache2/。确保在更改文件(sudo /etc/init.d/apache2 restart)后重新启动服务器。希望有所帮助,如果您还没有解决问题,请更新。