Apache http.conf 实例配置详解

##################################
### General Settings
##################################

ServerType standalone

# apache软件安装的位置,主机目录
ServerRoot "/usr/local/apache"

# 记录 httpd 父进程的进程号
PidFile "/var/run/httpd.pid"

# 维护进程的内部数据
ScoreBoardFile "/var/log/apache/httpd.scoreboard"

# ResourceConfig、AccessConfig:兼容老版本的 apache,没有必要的话则 null
ResourceConfig /dev/null
AccessConfig /dev/null

# 客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。
Timeout 300

# 在一次连接中传递多个HTTP请求,保持永久连接
KeepAlive On

# 一次连接可以进行的HTTP请求的最大请求次数
MaxKeepAliveRequests 100

# 一次连接中的多次请求传输之间的时间,超过 15 秒没有请求,那么断开链接
KeepAliveTimeout 15

# 最小空闲进程数 
MinSpareServers 10

# 最大空闲进程数 
MaxSpareServers 20

StartServers 10

# 最多同时允许多少连接数
MaxClients 256

# 采用子进程进行连接服务,缺省值为 30,设置为 0 代表对支持对每个副本进行无限次的服务处理
MaxRequestsPerChild 0

# 端口号
Port 80

# 服务器使用 443 和 80 端口作为监听端口,并且只有当变量名 SSL 被指定后才会使用

    Listen 80
    Listen 443


# 服务器不获得客户机的主机名,使用IP地址来记录用户
HostnameLookups Off

# 返回的错误文档中是否包含服务器的名字、Apache等版本信息
ServerSignature Off

# ErrorDocument:设置当出现哪个错误时应该回应客户浏览器那些内容
ErrorDocument 403 /link_error.php
ErrorDocument 404 /link_error.php
ErrorDocument 500 /link_error.php

# 执行 httpd 的用户组
User nobody
Group nobody

# 管理员的电子邮件,如果 apache 出现问题,会发邮件进行通知
ServerAdmin [email protected]

# 主机名称,如果没有域名也可以使用 IP
ServerName SERVER-IP

# 指定虚拟主机使用的IP地址
NameVirtualHost SERVER-IP

# apache放置网页的地方,里面的index.html即为连到此主机的预设首页
DocumentRoot "/usr/local/apache/htdocs"

# 不会在响应头重返回具体的版本信息,只返回 Apache
ServerTokens ProductOnly

Include conf/vhosts.conf
Include conf/vhosts_ssl.conf

# 使用 DSO 模块,可以使用 PHP5
#LoadModule sql_log_module libexec/mod_log_sql.so
LoadModule php5_module libexec/libphp5.so

# 封装一组指令,使之仅对该文件空间中的某个目录及其子目录生效

     Options None
     AllowOverride None     # 忽略.htaccess文件中的指令类型
     Order deny,allow       # 先拒绝允许后允许
     Deny from all          # 不允许所有人访问该类文件


"/usr/local/apache/htdocs">
    Options FollowSymLinks  # 定义该目录下的所有网页文件访问选项
    AllowOverride None      # 忽略.htaccess文件中的指令类型
    Order deny,allow        # 先拒绝允许后允许
    Allow from all          # 允许所有人访问该目录


# 映射CGI程序的路径,这个路径下的文件都被定义为CGI程序
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
"/usr/local/apache/cgi-bin">
    AllowOverride None      # 忽略.htaccess文件中的指令类型
    Options +ExecCGI        # 允许该目录下的文件使用 CGI 程序
    Order allow,deny        # 先拒绝允许后允许
    Allow from all          # 允许所有人访问该目录


# 所有以 ht 开头的文件都拒绝访问
"^\.ht">
    Order allow,deny        # 先拒绝允许后允许
    Deny from all           # 不允许所有人访问该类文件
    Satisfy All


# 检查模块 mod_dir.c 是否已经加载

    # 如果 url 没有指定文档的名字,则自动返回这个目录下由DirectoryIndex定义的文件
    DirectoryIndex index.htm index.html index.php index.php3 default.html



    # 保存不同的 MIME 类型
    TypesConfig /usr/local/apache/conf/mime.types

# 定义不同的错误日志文件及其记录内容
LogLevel warn

# 定义不同类型的日志进行记录时使用的格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"
{Cookie}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# 主机的错误日志
ErrorLog /var/log/apache/error_log

# 系统的访问日志,combined:将所有的访问日志放在一个文件中
CustomLog /var/log/apache/access_log combined env=!attacks
CustomLog /var/log/apache/attack_log combined env=attacks

# 当文档使用了非标准的后缀,返回文档的缺省类型
DefaultType text/plain

# 使用压缩的 MIME 类型,使得浏览器能够进行解压缩操作
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

# 为特定后缀的文件指定 MIME 类型
AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


    # 配置密码对话框的输入,必须在标准输出上提供密码短语,buildin 是内建的终端对话框
    SSLPassPhraseDialog builtin
    # 进程之间的对话缓存
    SSLSessionCache dbm:/var/run/ssl_scache
    # 对话的超时时间
    SSLSessionCacheTimeout 300
    # SSL 的目录
    SSLLog /var/log/httpd/ssl_engine_log
    SSLLogLevel warn


# 为特定的客户端设置特殊的参数,保证对老版本浏览器的兼容性,支持新浏览器的新特性
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

# 将封装的指令作用于匹配的URL,限制用户对某个文件的访问,只允许LAN用户访问 /server-status

    SetHandler server-status
    Order Deny,Allow
    Deny from all
    Allow from 10.0.0.0/24
    Allow from 192.168.0.0/16
    Allow from 172.16.200.0/16

参考资料

[1] https://www.server110.com/apache/201309/1446.html
[2] http://blog.csdn.net/microcosmv/article/details/62430566

你可能感兴趣的:(Apache)