Apache应用的认证配置(Linux环境)

来源:互联网 发布:贵阳大数据培训班 编辑:程序博客网 时间:2024/06/10 01:21

我们在互联网上开放了某个应用,但出于一些安全考虑,我们不想这些应用让所有人都能访问,这个时候该怎么办呢?下面,让我们一起来看下apache服务器是如何解决该问题的。

第一步. 创建认证用户和密码

首先,进入到需要认证的应用根目录下,然后通过htpasswd命令来创建用户和密码,如下:

htpasswd -mbc .htpasswd user1 123456

htpasswd -mb .htpasswd user2 123456

上面的命令创建了两个认证用户,分别是user1和user2,对应的密码都是123456。

注意两个命令的不同,第一个命令中多了一个c参数,由于是第一次创建,所以需要通过c参数来创建.htpasswd文件。m参数表示对密码进行md5加密。最终生成的.htpasswd文件内容如下:

.htpasswd文件在后面会被用到。

之所以采用.htpasswd格式的密码文件,是因为apache服务器对".ht"开头的文件默认不允许外部读取,安全系数会高一点。

第二步. 创建.htaccess文件

在需要认证的应用根目录下,创建.htaccess文件,内容如下:

AuthName "User Authentication"AuthType basicAuthUserFile /var/www/html/linux-dash/.htpasswdrequire valid-user

参数解释:

AuthName:认证描述,填写的内容会出现在认证窗口的提示信息中。

AuthType:认证类型,在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。

AuthUserFile:指定一个包含用户名和密码的文本文件,每行对应一个用户。

AuthGroupFile:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:managers:user1 user2。

require:指定哪些用户或组才能被授权访问,如:

require user user1 user2 (只有用户user1和user2可以访问)

require group managers (只有组managers中成员可以访问)

require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

第三步. 修改httpd.conf文件

修改/etc/httpd/conf/httpd.conf配置文件,将Directory标签中的AllowOverride参数值修改为All,如下:

AllowOverride All

修改后的配置表示的含义为:/var/www/html目录下每个应用的访问权限由该目录下的.htaccess文件来控制。

保存后,重启apache

第四步. 浏览器验证

在浏览器地址栏中,输入该应用的访问URL,如果能弹出类似下面的窗口,即表示认证配置OK了:

输入之前配置的用户名和密码,即可正常访问了。

0 0
原创粉丝点击