当前位置:首页 > 服务器技术 > apache

web服务_apache配置(3)v1.0

 

11、基于用户的访问控制                    

       认证质询:

               WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码;                    

       认证:

               Authorization:客户端用户填入账号和密码后再次发送请求报文;认证通过时,则服务器发送响应的资源;

                                      

               认证方式有两种:

                       basic:明文

                       digest:消息摘要认证

                              

       安全域:需要用户认证后方能访问的路径;应该通过名称对其进行标识,以便于告知用户认证的原因;

                              

       用户的账号和密码存放于何处?

               虚拟账号:仅用于访问某服务时用到的认证标识

                                      

               存储:(tttpd要有相应的是配模块)

                       文本文件;

                       SQL数据库;

                       ldap目录存储;(读性能超级好 写性能超级差)

                              

       basic认证配置示例:

               (1) 定义安全域

                       <Directory "">

                               Options None

                               AllowOverride None

                               AuthType Basic    基于Basci 认证

                               AuthName "String   安全预提示信息

                               AuthUserFile  "/PATH/TO/HTTPD_USER_PASSWD_FILE"  文件

                               Require  user  username1  username2 ...(valid-user)

                       </Directory>

                                              

                       允许账号文件中的所有用户登录访问:

                               Require  valid-user

                                              

               (2) 提供账号和密码存储(文本文件)

                       使用专用命令完成此类文件的创建及用户管理

                               htpasswd  [options]   /PATH/TO/HTTPD_PASSWD_FILE  username

                                       -c:自动创建此处指定的文件,因此,仅应该在此文件不存在时使用;

                                       -m:md5格式加密

                                       -s: sha格式加密

                                       -D:删除指定用户

                                                              

               另外:基于组账号进行认证;

                       (1) 定义安全域

                               <Directory "">

                                       Options None

                                       AllowOverride None

                                       AuthType Basic

                                       AuthName "String

                                       AuthUserFile  "/PATH/TO/HTTPD_USER_PASSWD_FILE"

                                       AuthGroupFile "/PATH/TO/HTTPD_GROUP_FILE"

                                       Require  group  grpname1  grpname2 ...

                               </Directory>

                                                      

                       (2) 创建用户账号和组账号文件;

                                                      

                               组文件:每一行定义一个组 vim编辑即可

                                       GRP_NAME: username1  username2  ...

                                                                                      

12、虚拟主机

                      

       站点标识: socket

               IP相同,但端口不同;

               IP不同,但端口均为默认端口;

               FQDN不同;

                       请求报文中首部

                       Host: www.magedu.com

                                              

       有三种实现方案:

               基于ip:

                       为每个虚拟主机准备至少一个ip地址;

               基于port:

                       为每个虚拟主机使用至少一个独立的port;

               基于FQDN:

                       为每个虚拟主机使用至少一个FQDN;

                      

       注意:一般虚拟机不要与中心主机混用;因此,要使用虚拟主机,得先禁用‘main‘主机;

               禁用方法:注释中心主机的DocumentRoot指令即可;

                                      

       虚拟主机的配置方法:

               <VirtualHost  IP:PORT>  虚拟主机 ip:端口

                       ServerName FQDN              虚拟主机的FQDN

                       DocumentRoot  ""              目录

               </VirtualHost>

                                      

               其它可用指令:

                       ServerAlias:虚拟主机的别名;可多次使用;

                       ErrorLog:

                               CustomLog:

                       <Directory "">

                       ...

                       </Directory>

                       Alias

                       ...

                                              

               基于IP的虚拟主机示例:

               <VirtualHost 172.16.100.6:80>

                       ServerName www.a.com

                       DocumentRoot "/www/a.com/htdocs"

               </VirtualHost>

 

               <VirtualHost 172.16.100.7:80>

                       ServerName www.b.net

                       DocumentRoot "/www/b.net/htdocs"

               </VirtualHost>

 

               <VirtualHost 172.16.100.8:80>

                       ServerName www.c.org

                       DocumentRoot "/www/c.org/htdocs"

               </VirtualHost>

                                      

               基于端口的虚拟主机:

               <VirtualHost 172.16.100.6:80>

                       ServerName www.a.com

                       DocumentRoot "/www/a.com/htdocs"

               </VirtualHost>

 

               <VirtualHost 172.16.100.6:808>

                       ServerName www.b.net

                       DocumentRoot "/www/b.net/htdocs"

               </VirtualHost>

 

               <VirtualHost 172.16.100.6:8080>

                       ServerName www.c.org

                       DocumentRoot "/www/c.org/htdocs"

               </VirtualHost>

                                      

               基于FQDN的虚拟主机:

               NameVirtualHost 172.16.100.6:80

 

               <VirtualHost 172.16.100.6:80>

                       ServerName www.a.com

                       DocumentRoot "/www/a.com/htdocs"

               </VirtualHost>

 

               <VirtualHost 172.16.100.6:80>

                       ServerName www.b.net

                       DocumentRoot "/www/b.net/htdocs"

               </VirtualHost>

 

               <VirtualHost 172.16.100.6:80>

                       ServerName www.c.org

                       DocumentRoot "/www/c.org/htdocs"

               </VirtualHost>                                                                            

                                                                      

13、status页面

       LoadModule  status_module  modules/mod_status.so

                              

       <Location /server-status>

               SetHandler server-status

               Order allow,deny

               Allow from 172.16

       </Location>


原文:http://zx337954373.blog.51cto.com/11323677/1854226


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!