apache配置文件机构与解析(二)

存储架构 2018-05-10

  • Listen 80 # 默认监听的端口
  • ServerRoot "/etc/httpd/"

    默认工作目录,后续的配置如果使用相对路径,则将以这个 项目 为相对路径的 查找起始点。

  • LoadModule authn_file_module modules/mod_authn_file.so

    装载各种功能性模块,装载后可以通过 if module 来调用相关模块

                这是一个条件加载模块
        User daemon                    定义 httpd 服务进程使用的用户身份和组身份
        Group daemon
  • ServerAdmin you@example.com

    出错时,显示管理员的邮箱,方便联系

  • ServerName www.example.com:80

    主机名称定义,如果没有定义完整主机名,可以使用IP地址取代,否则启动时会报一些错误。

  • DocumentRoot "/usr/local/apache/htdocs"

    默认的 站点路径,区别于 server root,对它的访问控制要尤其注意。

  • 目录控制标签,可以针对某一个目录进行访问控制,控制标签内的定义不影响全局。

    这里的 / 指的是整文件系统的根,作用于全局,默认全部拒绝。后续要开启虚拟主机站点时务必注意该权限的设置问题。

  Options Indexes FollowSymLinks AllowOverride none  Require all denied  

注:2.4版本出现的新的目录访问控制方法,老版本是用 Order Allow deny 的方式。

AllowOverride --------------------------------------------------
指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在  .htaccess  文件里有的指令都将被重写。

Options--配置在特定目录中可以使用哪些特性--------------------------------
All         #准许以下除MultiViews以外所有功能
MultiViews  #允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,类似模糊寻找
Indexes     #若该目录下无index文件,则准许显示该目录下的文件以供选择
IncludesNOEXEC  #准许SSI,但不可使用#exec和#include功能
Includes    #准许SSI
FollowSymLinks   #在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,
SymLinksIfOwnerMatch  #在该目录中仅仅跟踪本站点内的链接
ExecCGI     #在该目录下准许使用CGI
None        #都不支持


 ------------------/web/admin/admin.php  -----------------------------
     Require all granted         #允许所有IP访问
     Require all denied          #不允许任何IP访问
     Require ip  192.168         #IP地址的简写方式
     Require ip  192.168.1.0/24  #允许某个网段的IP访问
     Require not ip  192.168.80.0/24  #不允许某个网段的IP访问
     Require host test.com  #不允许主机名是test.com的主机访问
>   # 实现制作用户主页的功能
>     UserDir disable    # 开启后,下一条生效
>     #UserDir public_html    # 允许用户制作自己的主页,网页存放在自己的家目录中的public_html子目录中
>                             # chmod o+x ; mkdir public_html     index.html 
>                           # 访问用户主页:http://192.168.0.12/~username/ 
>            # 定义网页主目录下,可以自动读取的 索引文件(主页文件)
>     DirectoryIndex index.html 
> 
>                   # 文件访问控制标签,表示禁止访问 所有以 .ht 开头的文件,例如.htaccess
>     Require all denied 
> 

reqtimeout 模块:限制web服务器的HTTP头部传输的最大许可时间客户端发送请求头(或者body)到web服务器,web服务器一直等待,直到它收到一个完整的请求头(或者body)。客户端继续发送新的请求,打开新的连接再次发送不完整的请求头(或者body)。这样可能导致大量的进程/线程等待客户端的数据,耗光了web服务器的资源,导致了正常请求无法得到处理。apache这个漏洞,会导致拒绝服务攻击(DoS攻击)header, body的单位:秒 ;Rate的单位:Byte/秒。

>           
> RequestReadTimeout
> header=20-40,MinRate=500 body=20,MinRate=500 
> 

责编内容by:Next Mission (源链)。感谢您的支持!

您可能感兴趣的

A Month in Selenium: February January was a quiet month for Selenium hacking, but it laid the groundwork for February's efforts. These largely centred around code cleanup in the G...
Apache HTTPD 2.4.28 稳定版发布 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器, 可以在大多数电脑操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 ...
关于CORS跨域问题的理解 起因 因为这段时间一个项目前后端分别部署在不同服务器的需要,抽空学习了一下CORS问题,不足之处,欢迎指教. 什么是CORS CORS是一个w3c标准,全称是"跨域资源共享"(Cross-origin resource sharing),但一个请求url的协议,域名,端口三者之间任意与当...
Apache “Optionsbleed” Vulnerability – What You Nee... Remember Heartbleed ? That was a weird sort of bug, based on a feature in OpenSSL called “heartbeat”, whereby a visitor to your server can...
本地测试微信登录的技巧 最近调试一个 Rails 项目,需要在本地搭建开发环境,这个项目没有注册功能,只能够通过微信扫码登录, 我在这个地方遇到不少问题,发现网上有很多的朋友也遇到过类似的问题,便想在这个 blog 中总结一下解决的 方案,希望对不熟悉微信登录的朋友有帮助! 域名和端口映射 Rails serve...