apache的访问控制和虚拟主机的配置

 

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

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

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

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



就是这些了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对你的问题:APACHE虚拟主机配置,以下是回答: 在Apache配置虚拟主机需要在httpd.conf或者其他的配置文件中添加如下代码: ``` <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/apache2/htdocs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "/usr/local/apache2/logs/dummy-host.example.com-error_log" CustomLog "/usr/local/apache2/logs/dummy-host.example.com-access_log" common </VirtualHost> ``` 其中`*`表示监听所有的网络接口,`:80`表示监听80端口,`ServerAdmin`设置管理员邮箱,`DocumentRoot`设置虚拟主机的目录,`ServerName`设置虚拟主机名字,`ServerAlias`设置虚拟主机别名,`ErrorLog`和`CustomLog` 分别设置虚拟主机的错误日志和访问日志。 如果需要配置HTTPS,则需要在虚拟主机配置中添加以下代码: ``` <VirtualHost *:443> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/apache2/htdocs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "/usr/local/apache2/logs/dummy-host.example.com-error_log" CustomLog "/usr/local/apache2/logs/dummy-host.example.com-access_log" common SSLEngine on SSLCertificateFile "/path/to/www.example.com.cert" SSLCertificateKeyFile "/path/to/www.example.com.key" SSLCACertificateFile "/path/to/www.example.com.chain" </VirtualHost> ``` 在HTTPS虚拟主机配置中,需要添加以下代码: `SSLEngine on`表示开启SSL加密引擎,`SSLCertificateFile`指定证书位置,`SSLCertificateKeyFile`指定私钥位置,`SSLCACertificateFile`指定证书链位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值