首页 > 代码库 > LAMP-Apache用户认证
LAMP-Apache用户认证
在某些场景下,网站页面的内容需要特殊授权用户才能查看。要实现这个功能,需要在Apache上做设置认证用户。
1、编辑虚拟主机配置
[root@juispan ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/data/www/abc.com" ServerName abc.com <Directory /data/www/abc.com> ##指定认证的目录 AllowOverride AuthConfig ##打开认证开关 AuthName "abc.com user auth" ##定义认证的名字 AuthType Basic ##指定认证的类型 AuthUserFile /data/.htpasswd ##指定密码文件所在的位置 require valid-user ##指定需要认证的用户 </Directory> </VirtualHost>
2、增加用户
[root@juispan ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd juispan New password: ##“-c”=create “-m”=md5 Re-type new password: ##“/data/.htpasswd”=密码存放路径 Adding password for user juispan [root@juispan ~]# cat /data/.htpasswd juispan:$apr1$5UVKQ8Ux$8tkRftVA0ueh7qtD6tzlz1
3、检查重新加载
[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [root@juispan ~]# /usr/local/apache2.4/bin/apachectl graceful
4、测试验证
本机验证:
[root@juispan ~]# curl -x127.0.0.1:80 abc.com <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>401 Unauthorized</title> ##401 未认证 </head><body> <h1>Unauthorized</h1> <p>This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn‘t understand how to supply the credentials required.</p> </body></html> [root@juispan ~]# curl -x127.0.0.1:80 -ujuispan:hao123.com abc.com abc.com
远端验证:
输入正确的用户名口令后即可显示网页内容。
如果针对的不是整个目录,而是单个网页,可以使用FilesMatch替换Directory,如<FilesMatch 1.php> 。
▎参考配置:
<VirtualHost *:80> DocumentRoot "/data/www/abc.com" ServerName www.abc.com <FilesMatch 1.php> AllowOverride AuthConfig AuthName "abc.com user auth" AuthType Basic AuthUserFile /data/.htpasswd require valid-user </FilesMatch> </VirtualHost>
本文出自 “Gorilla Grodd” 博客,请务必保留此出处http://juispan.blog.51cto.com/943137/1952793
LAMP-Apache用户认证
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。