Apache的访问控制
目录配置段
注释不能写在指令后面,下面这样是不行的,应当换行,但为了阅读方便我就这么写了
Alias /dir/ "/var/www/html/admin" #路径的别名 这样就可以在域名后面加 /dir 而实际访问的是 admin下面的文件
<Directory /var/www/html/>
Order Allow,Deny #权限的顺序是先允许 后拒绝
Deny from 192.168.1.12 #拒绝192.168.1.12访问
Allow from all #允许所有的访问
Options Indexes FollowSymLink #允许目录索引 符号链接
AllowOverride None #不能被目录下的.htaccess覆盖
# AllowOverride all 允许被目录下的.htaccess规则覆盖 默认是允许的
</Directory>
文件配置段
<Files "hello.html">
Order Deny,Allow #先拒绝 后允许
Deny from all #拒绝所有的访问所有目录下的hello.html文件
</Files>
如果文件配置段嵌套到目录配置段,就只控制那个目录下文件的访问权限
url配置段
<Location /admin>
Deny from all #拒绝所有的访问/admin这个url
</Location>
文件目录url都可用通配符或正则
<Directory "/var/*/html/">
......
</Directory>
<FilesMatch \.(gif|png)>
Deny from all #拒绝访问图片
</FilesMatch>
Apache的虚拟主机配置
基于ip:
<VirtualHost 192.168.142.2:80>
ServerAdmin zhaoyp1985@163.com
DocumentRoot "/var/www/web1"
ServerName www.aaa.com
ErrorLog "/home/log/error/error.log"
CustomLog "/home/log/coustom/error.log"
</VirtualHost>
<VirtualHost 192.168.142.1:80>
ServerAdmin zhaoyp1985@163.com
DocumentRoot "/var/www/web1"
ServerName www.bbb.com
ErrorLog "/home/log/error/error.log"
CustomLog "/home/log/coustom/error.log"
</VirtualHost>
基于域名:
NameVirtualHost *:80
#保留原来的localhost
<VirtualHost *:80 >
ServerName *
DocumentRoot "/var/www/html"
</VirtualHost>
#虚拟主机www.aaa.com
<VirtualHost *:80 >
ServerAdmin zhaoyp1985@163.com
DocumentRoot "/var/www/web1"
ServerName www.aaa.com
ErrorLog "/home/log/error/error.log"
CustomLog "/home/log/coustom/error.log"
</VirtualHost>
#虚拟主机www.bbb.com
<VirtualHost *:80 >
ServerAdmin zhaoyp1985@163.com
DocumentRoot "/var/www/web2"
ServerName www.bbb.com
ErrorLog "/home/log/error/error.log"
CustomLog "/home/log/coustom/error.log"
</VirtualHost>
泛域名的解析
<VirtualHost *:80>
ServerName *.aaa.com
VirtualDocumentRoot /var/www/cct/home/%1
<Directory " /var/www/cct/home/" >
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
其中的%1是*.aaa.com的第一部分 见下面:
目录名称的转换
本模块中的所有指令都用于将字符串替换为路径名。被替换的字符串(以后称为"name")可以是服务器名(参见UseCanonicalName指令以了解决策方法)或者是"点数字"格式的虚拟主机IP地址。替换操作由printf格式修饰符控制,该修饰符有以下几种格式:
%% |
插入一个百分号(%) |
%p |
插入虚拟主机的端口号 |
%N.M |
插入名称(或者名称的一部分) |
N和M被用来指定name中的子字符串。N从name中用小数点分隔的某部分中选取,而M是从N选中的字符串中选取部分字符。M是可选的且默认为"0";小数点当且仅当M存在时才必须书写。替换操作如下:
0 |
整个name |
1 |
第一部分 |
2 |
第二部分 |
-1 |
最后一部分 |
-2 |
倒数第二部分 |
2+ |
从第二部分开始到最后的所有部分 |
-2+ |
倒数第二部分以及之前的各部分 |
1+和-1+ |
等同于0 |
如果N或M大于部分的个数,则简单的用下划线来替换。
Apache的访问控制的更多相关文章
- 第10章 使用Apache服务部署静态网站
章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setseb ...
- 分类: LINUX apache 访问设置配置
分类: LINUX 在一次面试的时候被问到apache访问控制的问题.由于以前对apache的访问控制都是通过iptalbes来实现的,没有实际在apache上操作过访问控制.所以只知道个大概: 在主 ...
- 《linux就该这么学》第十二节课:第10章,Apache网站服务
第十章 10.1.网站服务程序 (让用户能够通过网站访问服务器上的资源) 目前提供的网站服务有IIS,Nginx,Apache等,IIS是windows中默认的web服务程序. Nginx是后起之秀, ...
- CentOS 7运维管理笔记(9)----Apache 安全控制与认证
Apache 提供了多种安全控制手段,包括设置Web访问控制.用户登陆密码认证及 .htaccess 文件等.通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取 ...
- Linux就该这么学 20181007第十章Apache)
参考链接https://www.linuxprobe.com/ /etc/httpd/conf/httpd.conf 主配置文件 SElinux域 ---服务功能的限制 SElinux安全上下文 -- ...
- 使用Apache服务部署静态网站2019-7-5
使用Apache服务部署静态网站 第1步:把镜像挂载到系统中 第2步:使用vim文件编辑器创建YUM仓库的配置文件 [root@study ~]# vim /etc/yum.repos.d/abc.r ...
- 《Linux就该这么学》培训笔记_ch10_使用Apache服务部署静态网站
<Linux就该这么学>培训笔记_ch10_使用Apache服务部署静态网站 文章最后会post上书本的笔记照片. 文章主要内容: 网站服务程序 配置服务文件参数 SELinux安全子系统 ...
- Apache服务:使用 Apache 服务部署静态网站
1.安装Apache服务 第一步:安装Apache服务程序 yum install httpd 具体流程参考https://www.cnblogs.com/python-wen/p/1016845 ...
- Llinux-apache安装
第四章 构建LAMP网站服务平台 实验报告 1.安装apache服务器软件及相关组件 查看系统中是否安装apache服务相关的软件包: [root@www /]# rpm -qa | grep ht ...
随机推荐
- linux 安装开启SNMP协议,最下面是yum安装
Linux SNMP 以下的示例采用SUSE10 Linux环境,但它同样适用于其它Linux发行版. 编译和安装 首先我们需要下载Net-SNMP的源代码,选择一个版本,比如5.7.1,地址如下: ...
- Android Studio 编写 JNI
之前一直都不知怎么编写JNI,今天刚好学习一下,感谢梦真的指教,以及提供的文档. 参考链接 http://blog.csdn.net/u011168565/article/details/518781 ...
- 深入理解Mybatis中sqlSessionFactory机制原理
对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. 1.MyBatis的初始化做了什么 2. MyBatis基于XML配置 ...
- 实现现下列哪一种接口的对象,并不需要在web.xml文件内进行额外的设定,Servlet容器就能够回应该对象加入HTTP会话所发生的事件?(选择1项)
实现现下列哪一种接口的对象,并不需要在web.xml文件内进行额外的设定,Servlet容器就能够回应该对象加入HTTP会话所发生的事件?(选择1项) A.ServletContextListener ...
- c/c++学习之c++ 中的list <>容器
http://blog.csdn.net/mazidao2008/article/details/4802617 push 实例化 即添加 http://www.cnblogs.com/BeyondA ...
- 【BZOJ】1676: [Usaco2005 Feb]Feed Accounting 饲料计算(差分)
http://www.lydsy.com/JudgeOnline/problem.php?id=1676 太水的一题了.. 差分直接搞. #include <cstdio> #includ ...
- zabbix服务器搭建
zabbix服务器源码安装 参看官方文档 这里不做过多的翻译,我的系统是centos6.5,安装的时候是base安装,所以要装一些其他依赖包,除此之外,还有一些php插件: extension=bcm ...
- linux下MySQL与jdk安装
允许本地访问端口:iptables -P OUTPUT ACCEPT1.yum install mysql 2.yum install mysql-server 3.删除MySQL数据库中user表中 ...
- GCC命令基础
gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点, 现在很多程序员都应用GCC,怎样才能更好的应用GCC. 目前,GCC可 ...
- 在Sql2000 sql2005 sql2008 下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示
硬件环境 : 一台服务器 安装了 sqlserver2008 数据库 局域网还有一台机器 安装了 sqlserver2000数据库 两台server 通信 共享均没有问题 同步过程中遇到的问题 : ...