如何在Apache中使用.htaccess设置基本身份验证

.htaccess代表“超文本的访问”。这是默认的Apache目录级别的配置文件。 htaccess的可用于保护在网络服务器的特定的目录。其中最常见的用途是要求以服务于某些网页的用户身份验证。

创建.htaccess文件。

首先在你的网站上的文档根目录,以保护整个网站或特定目录下创建一个 .htaccess文件并添加以下内容。
  AuthType Basic
  AuthName "Secure Content"
  AuthUserFile /home/myuser/public_html/.htpasswd
  require valid-user
  • AuthType:定义身份验证的类型。基本手段是没有加密的密码哈希以明文形式发送。
  • AuthName:这是上显示的网页内容时的用户名和密码提示。
  • AuthUserFile:是存储用户凭证的文件。
  • require valid-user:表明,只有成功验证请求,可能会加载页面。

在 htpasswd 里创建用户

现在,随着创造htpasswd的用户在.htaccess文件中定义的。您可以在加密的明文或MD5添加用户和密码。 以纯文本格式添加密码:
# htpasswd -c /home/myuser/public_html/.htpasswd  myuser
添加密码以MD5加密格式
# htpasswd -cm /home/myuser/public_html/.htpasswd  myuser
  • -c:当您创建htpasswd文件仅用于第一次。如果你使用它第二次,它会删除现有的文件并重新创建新的。
  • -m:用于保存密码的MD5格式。

配置Apache允许.htaccess验证

由默认的Apache不允许使用.htaccess,所以你还需要更新以下在httpd.conf设置为允许基于.htaccess验证。我们使用AllowOverride变量定义.htaccess是否将Apache或没有看过。
From:
AllowOverride none

To:
AllowOverride AuthConfig
要设置AuthConfig允许在.htaccess中唯一的身份验证,设置休息(如果有的话)将被忽略。要允许到位AuthConfig在.htaccess文件中使用“全部”中定义的所有设置“。

重新启动Apache和测试设置。

在Apache配置文件进行任何更改后(或httpd.conf文件apache2.conf),您需要重新启动Apache的Web服务。 为CentOS / RHEL 6/5的用户:
# service httpd restart
为CentOS / RHEL 7用户:
# systemctl enable httpd.service
对于Ubuntu的/ Debian的用户:
# service apache2 restart
感谢您阅读这篇文章,我希望它会帮助你了解在Apache使用的.htaccess设置基本身份验证。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏