Apache用户认证控制和虚拟主机配置
来源:互联网 发布:解压缩软件 for mac 编辑:程序博客网 时间:2024/05/22 06:32
用户认证控制
- 认证质询: WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码
- 认证: Authorization:客户端用户填入账号和密码后再次发送请求报文;认证通过时,则服务器发送响应的资源
- 认证方式两种:
- basic:明文
digest:消息摘要认证,兼容性差 - 安全域:需要用户认证后方能访问的路径;应该通过名称对其进行标识,以便于告知用户认证的原因
- 用户的账号和密码
- 虚拟账号:仅用于访问某服务时用到的认证标识
存储:文本文件, SQL数据库, ldap目录存储, nis等
基于用户名
示例:
<Directory /var/www/html/secret>AllowOverride NoneAuthType BasicAuthName "test Auth"AuthUserFile /etc/httpd/conf.d/.httpuser #用户名密码文件Require user username1 username2...</Directory>允许账号文件中的所有用户登录访问:Require valid-user
账号密码文本生成方法
- 使用专用命令完成此类文件的创建及用户管理
htpasswd [options] /PATH/HTTPD_PASSWD_FILE username
-c:自动创建文件,仅应该在文件不存在时使用
-m: md5格式加密,不写加密方式默认为md5加密
-s : sha格式加密
-D:删除指定用户
[root@centos6 ~]# htpasswd -cs /etc/httpd/conf.d/.htpasswd hehe #第一次生成密码文件用-c[root@centos6 ~]# cat /etc/httpd/conf.d/.htpasswd hehe:{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=htpasswd -m /etc/httpd/conf.d/.htpasswd haha #用md5加密添加haha用户名密码到.htpasswd文件
基于组用户
示例:
<Directory "/var/www/html/secret">AllowOverride NoneAuthType BasicAuthName "Administator private"AuthUserFile "/etc/httpd/conf.d/.htpasswd"AuthGroupFile "/etc/httpd/conf.d/.htgroup"Require group webadmins</Directory>vim /etc/httpd/conf.d/.htgroupwebadmins:hehe haha
远程主机和用户访问
- Satisfy ALL|Any
- ALL 客户机IP和用户验证都需要通过才可以
- Any客户机IP和用户验证,有一个满足即可
示例:
<Directory /var/www/html/secret>AllowOverride NoneAuthType BasicAuthName "test Auth"AuthUserFile /etc/httpd/conf.d/.httpuser #用户名密码文件Require user username1 username2...Order allow,denyAllow from 192.168.6Satisfy Any</Directory>
虚拟主机配置
- 站点标识: socket
- IP相同,但端口不同
- IP不同,但端口均为默认端口
- FQDN不同
- 请求报文中首部 –> Host: www.magedu.com
- 有三种实现方案:
- 基于ip:为每个虚拟主机准备至少一个ip地址
- 基于port:为每个虚拟主机使用至少一个独立的port
- 基于FQDN:为每个虚拟主机使用至少一个FQDN
注意:一般虚拟机不要与main主机混用;因此,要使用虚拟主机,一般先禁用main主机。如果虚拟主机配置的socket和main主机一样会被虚拟主机覆盖,建议最好把socket分清楚或者直接禁用main主机
禁用方法:注释中心主机的DocumentRoot指令即可
基于IP虚拟主机
建议:以下配置最好存放在独立的配置文件中,文件路径–>/etc/httpd/conf.d/VirtualHost.conf
<VirtualHost 172.16.100.6:80>DocumentRoot "/www/a.com/htdocs"ErrorLog logs/172.16.100.6-error_logCustomLog logs/172.16.100.6-access_log common</VirtualHost><VirtualHost 172.16.100.7:80>DocumentRoot "/www/b.net/htdocs"ErrorLog logs/172.16.100.7-error_logCustomLog logs/172.16.100.7-access_log common</VirtualHost><VirtualHost 172.16.100.8:80>DocumentRoot "/www/c.org/htdocs"ErrorLog logs/172.16.100.8-error_logCustomLog logs/172.16.100.8-access_log common</VirtualHost>
基于端口的虚拟主机(可和基于IP的虚拟主机混和使用)
listen 808listen 8080<VirtualHost 172.16.100.6:808>DocumentRoot "/www/a.com/htdocs"ErrorLog logs/172.16.100.6:808-error_logCustomLog logs/172.16.100.6:808-access_log common</VirtualHost><VirtualHost 172.16.100.6:8080>DocumentRoot "/www/b.net/htdocs"ErrorLog logs/172.16.100.6:8080-error_logCustomLog logs/172.16.100.6:8080-access_log common</VirtualHost>
基于FQDN的虚拟主机:
以下域名需要DNS解析或者为了方便测试可以写到hosts文件里
NameVirtualHost *:80 #httpd2.4不需要此指令<VirtualHost *:80>ServerName www.a.comDocumentRoot "/www/a.com/htdocs"</VirtualHost><VirtualHost *:80>ServerName www.b.netDocumentRoot "/www/b.net/htdocs"</VirtualHost><VirtualHost *:80>ServerName www.c.orgDocumentRoot "/www/c.org/htdocs"</VirtualHost>
阅读全文
0 0
- Apache用户认证控制和虚拟主机配置
- Apache用户登录认证和虚拟主机
- apache虚拟主机基础配置(用户认证,域名跳转)
- apache的访问控制和虚拟主机的配置
- apache下配置认证用户
- Lamp:Apache用户认证+配置
- Apache访问控制之虚拟主机配置
- RHEL的Apache配置(基于ip&端口&域名的虚拟主机和认证)
- 配置apache服务器的用户认证
- 配置apache服务器的用户认证
- 配置apache服务器的用户认证
- 在Fedora10下配置Apache和虚拟主机
- Apache虚拟主机和虚拟目录的配置
- apache虚拟目录和虚拟主机的配置
- Apache配置虚拟主机和多HTTPS服务
- Apache虚拟目录和虚拟主机的配置
- Apache、Nginx和Tomcat之虚拟主机配置
- httpd2.2网页认证和虚拟主机配置篇(一)
- 网页上的图标
- Leetcode-Longest Substring Without Repeating Characters
- 燕麦云何洋开讲 | 无人驾驶汽车来了!它安全吗?
- LBD算法
- oracle job定时任务
- Apache用户认证控制和虚拟主机配置
- GCC编译器优化选项
- Spring Boot启动问题:Cannot determine embedded database driver class for database type NONE
- 垂直对齐:vertical-align属性
- 万事开头难
- JS 控制CSS样式表
- Wi-Fi产品射频电路调试经验谈
- [bzoj-3714][PA2014]Kuglarz 题解
- ES6基础之详解Promise基本用法