ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Apache中httpd-vhosts.conf的用法

2021-02-03 09:58:06  阅读:189  来源: 互联网

标签:语句 httpd Deny Allow index conf Apache com 目录



  首先看下面的配置:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "D:/xampp/htdocs/wherein"
    ServerName www.shop_dev.com
    ErrorLog "logs/wherein.com-error.log"
    CustomLog "logs/wherein.com-access.log" common
    <Directory "D:/xampp/htdocs/wherein">
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm index.php
    AllowOverride all
    Order Deny,Allow
    Allow from all
    Require all granted
    </Directory>
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "D:/xampp/htdocs/wherein"
    ServerName www.shop_dev.com
    ErrorLog "logs/wherein.com-error.log"
    CustomLog "logs/wherein.com-access.log" common
    <Directory "D:/xampp/htdocs/wherein">
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm index.php
    AllowOverride all
    Order Deny,Allow
    Allow from all
    Require all granted
    </Directory>
</VirtualHost>
ServerAdmin指令:

语法: ServerAdmin email-address|URL

用来设置服务器返回给客户端的错误信息中包含的管理员邮件地址。便于用户在收到错误信息后能及时与管理员取得联系。

 

ServerName指令:

语法:ServerName [scheme://] FQDN [:port]

用来设置服务器用于辨识自己的主机名和端口号。主要用于创建重定向URL。

 

DocumentRoot指令:

语法:DocumentRoot directory-path

用来设置httpd提供服务的目录。即你所在项目入口处的文件夹。

 

ErrorLog指令:

语法: ErrorLog file-path

来设置当服务器遇到错误时记录错误日志的文件。如果file-path不是以/开头的绝对路径,那么将会被认为是一个相对于ServerRoot的相对路径。

 

CustomLog指令:

语法: ErrorLog file-path common

设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。

 

<Directory 目录路径>...</Directory>

为主目录或虚拟目录设置权限。

 

特性:

Options FollowSymLinks IncludesNOEXEC Indexes

 

命    令    说    明
Indexes    允许目录浏览
当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中)

MultiViews    允许内容协商的多重视图
MultiViews其实是Apache的一个智能特性。当客户访问目录 中一个不存在的对象时,如访问“http://192.168.66.6/data/a”,则Apache会查找这个目录下所有a.*文件。由于 data目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息

All    All包含了除MultiViews之外的所有特性,如果没有Options语句,默认为All
ExecCGI    允许在该目录下执行CGI脚本
FollowSymLinks    可以在该目录中使用符号连接
Includes    允许服务器端包含功能
IncludesNoExec    允许服务器端包含功能,但禁用执行CGI脚本

 一旦定义允许目录浏览,就会将Web站点的文件夹和文件名结构暴露给黑客。目录浏览还会允许黑客浏览文件并掌握服务器配置信息,所以指定该权限往往带来安全性上的隐患。除非有充足的理由要使用目录浏览,否则应该禁用它。

 

DirectoryIndex index.html index.htm index.php

设置访问目录后进入的默认文件

 

AllowOverride all 

定义位于每个目录下.htaccess(访问控制)文件中的指令类型。none为禁止使用.htaccess文件

 

Order Deny,Allow 

Allow from all 

设置缺省的访问权限与Allow和Deny语句的处理顺序

allow, deny:缺省禁止所有客户机的访问,且Allow语句在Deny语句之前被匹配。如果某条件既匹配Deny语句又匹配Allow语句,则Deny语句会起作用(因为Deny语句覆盖了Allow语句)。

deny, allow:缺省允许所有客户机的访问,且Deny语句在Allow语句之前被匹配。如果某条件既匹配Deny语句又匹配Allow语句,则Allow语句会起作用(因为Allow语句覆盖了Deny语句)。

eg. 

Order deny ,allow
Deny from baidu.com
Deny from 192.168.66.6
除了来自baidu.com域和ip地址为192.168.66.6的客户机外,允许所有客户机访问

Order deny ,allow
Allow from 192.168.66.6
Deny from 192.168.66.1
既匹配Deny语句又匹配Allow语句,由于allow语句覆盖了deny语句,所以是允许所有客户机访问

Order allow ,deny
Allow from 192.168.66.6
Deny from 192.168.66.1
既匹配Deny语句又匹配Allow语句,由于deny语句覆盖了allow语句,所以是禁止所有客户机访问

转自:https://www.cnblogs.com/wherein/p/7047483.html

标签:语句,httpd,Deny,Allow,index,conf,Apache,com,目录
来源: https://blog.csdn.net/h757929382/article/details/113584269

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有