首页 > 代码库 > web服务_apache配置(3)v1.0
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> |
web服务_apache配置(3)v1.0