引言:在某些情况下一些网站是不完全对外开放的,如使用浏览器来显示的一些信息,MRTG就是一个很典型的例子,如果像这类网站允许匿名访问是非常不安全的,因为MRTG的页面中会显示一些敏感信息,如流量、交换机的IP地址等。针对这种网站我们需要授权访问
一般情况下,使用常用的验证方式为文本验证,简单高效。这种方式只需要在限制的目录下建立一个名为.htaccess的文件,在这个文件中包含了授权访问的用户名和密码,当用户访问此文件时它会告诉apache主配置文件,这个目录需要授权用户才可以访问。
一、 开启目录认证
在apache主机配置文件中httpd.conf中加入下面一段语言
<Directory "/web/www.aaa.com/">
Options Indexes FollowSymLinks
Allowoverride authconfig
Order allow,deny
Allow from all
</Directory>
解析:Directory参数定义了需要对哪个目录做授权认证。Order allow,deny
Allow from all意思为先拒绝在允许,注意,千万不要写反了。(此环境存在虚拟主机,所以要写到定义虚拟主机的内部<如下图>。如过没有虚拟主机的环境,则把上面这段在httpd.conf文件中随便写就可以了)
二、创建 .htaccess 文件,配置认证授权
在目录/web/www.aaa.com/下新建.htaccess文件
在/web/www.aaa.com下
vi .htaccess,写入
AuthName "www.aaa.com"
AuthType basic
AuthUserFile /web/www.aaa.com.pwd
Require valid-user
解析:AuthName定义在弹出身份验证对话框中的显示名称,此处定义的显示是
www.aaa.com
。AuthType定义了认证的类型,一般情况下为basic。AuthUserFile指定使用纯文本形式保护用户名和密码。Require指定只有哪些用户才可以访问,valid-user的意思是只有通过认证的用户才可以访问
三、生成用户和密码
生成用户名和密码对应的文件,用户名在此我们创建的为aaa,在回程后会要求输入两遍密码
/usr/local/apache/bin/htpasswd -c /web/www.aaa.com.pwd aaa
四、测试
输入正确的用户名和密码后可以看到网站内容,如下图所示
本文出自 “陆文举 ” 博客,请务必保留此出处http://luwenju.blog.51cto.com/620835/179660