目录配置段

注释不能写在指令后面,下面这样是不行的,应当换行,但为了阅读方便我就这么写了

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 插入名称(或者名称的一部分)

NM被用来指定name中的子字符串。N从name中用小数点分隔的某部分中选取,而M是从N选中的字符串中选取部分字符。M是可选的且默认为"0";小数点当且仅当M存在时才必须书写。替换操作如下:

0 整个name
1 第一部分
2 第二部分
-1 最后一部分
-2 倒数第二部分
2+ 从第二部分开始到最后的所有部分
-2+ 倒数第二部分以及之前的各部分
1+-1+ 等同于0

如果NM大于部分的个数,则简单的用下划线来替换。

Apache的访问控制的更多相关文章

  1. 第10章 使用Apache服务部署静态网站

    章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setseb ...

  2. 分类: LINUX apache 访问设置配置

    分类: LINUX 在一次面试的时候被问到apache访问控制的问题.由于以前对apache的访问控制都是通过iptalbes来实现的,没有实际在apache上操作过访问控制.所以只知道个大概: 在主 ...

  3. 《linux就该这么学》第十二节课:第10章,Apache网站服务

    第十章 10.1.网站服务程序 (让用户能够通过网站访问服务器上的资源) 目前提供的网站服务有IIS,Nginx,Apache等,IIS是windows中默认的web服务程序. Nginx是后起之秀, ...

  4. CentOS 7运维管理笔记(9)----Apache 安全控制与认证

    Apache 提供了多种安全控制手段,包括设置Web访问控制.用户登陆密码认证及 .htaccess 文件等.通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取 ...

  5. Linux就该这么学 20181007第十章Apache)

    参考链接https://www.linuxprobe.com/ /etc/httpd/conf/httpd.conf 主配置文件 SElinux域 ---服务功能的限制 SElinux安全上下文 -- ...

  6. 使用Apache服务部署静态网站2019-7-5

    使用Apache服务部署静态网站 第1步:把镜像挂载到系统中 第2步:使用vim文件编辑器创建YUM仓库的配置文件 [root@study ~]# vim /etc/yum.repos.d/abc.r ...

  7. 《Linux就该这么学》培训笔记_ch10_使用Apache服务部署静态网站

    <Linux就该这么学>培训笔记_ch10_使用Apache服务部署静态网站 文章最后会post上书本的笔记照片. 文章主要内容: 网站服务程序 配置服务文件参数 SELinux安全子系统 ...

  8. Apache服务:使用 Apache 服务部署静态网站

    1.安装Apache服务 第一步:安装Apache服务程序   yum install httpd 具体流程参考https://www.cnblogs.com/python-wen/p/1016845 ...

  9. Llinux-apache安装

    第四章  构建LAMP网站服务平台 实验报告 1.安装apache服务器软件及相关组件 查看系统中是否安装apache服务相关的软件包: [root@www /]# rpm -qa | grep ht ...

随机推荐

  1. SpringBoot DataSource 配置说明

    DataSource 配置说明 属性 说明 spring.dao.exceptiontranslation.enabled 是否开启PersistenceExceptionTranslationPos ...

  2. ubuntu14.04中安装jdk

    1. 下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 将下载的 .g ...

  3. openssl升级并发症

    简单介绍一下系统环境: 操作系统:redhat6.3 ,安装的主要涉及到的包有: root@192.168.100.252:/root# rpm -qa | grep ssh openssh-.3p1 ...

  4. Spring Boot注解(annotation)列表

    (1)@SpringBootApplication 申明让spring boot自动给程序进行必要的配置,这个配置等同于: @Configuration ,@EnableAutoConfigurati ...

  5. uva624 CD (01背包+路径的输出)

    CD Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice UVA 624 ...

  6. 获取软件的apk包名、查看手机设备名称等

    获取软件的apk包名 1.下载aapt,这里使用的是SDK自带的aapt,找到SDK路径下面的aapt.exe,本机路径:E:\downloads\android-sdk_r23.0.2-window ...

  7. Android动态禁用或开启屏幕旋转工具

    package com.gwtsz.gts2.util; import android.content.Context; import android.provider.Settings; impor ...

  8. 第十五篇:使用 FP-growth 算法高效挖掘海量数据中的频繁项集

    前言 对于如何发现一个数据集中的频繁项集,前文讲解的经典 Apriori 算法能够做到. 然而,对于每个潜在的频繁项,它都要检索一遍数据集,这是比较低效的.在实际的大数据应用中,这么做就更不好了. 本 ...

  9. Lua中 MinXmlHttpRequest如何发送post方式数据

    local xhr=cc.XMLHttpRequest:new() xhr.responseType=cc.XMLHTTPREQUEST_RESPONSE_JSON xhr:open(“POST”,& ...

  10. Ubuntu16.04安装QQ(图文说明)

    导读 最近,因为工作需要,我安装了Ubuntu16.04,然而有好多不便,工作上的事情大多需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个linux版本的QQ,然而不是 ...