`
zhengdl126
  • 浏览: 2509241 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

http.conf优化,安全配置

阅读更多

----------------------


apache日志格式参数说明
%h –客户端的ip地址或主机名
%l –The 这是由客户端 identd 判断的RFC 1413身份,输出中的符号 “-” 表示此处信息无效。
%u –由HTTP认证系统得到的访问该网页的客户名。有认证时才有效,输出中的符号 “-” 表示此处信息无效。
%t –服务器完成对请求的处理时的时间。
“%r”–引号中是客户发出的包含了许多有用信息的请求内容。
%>s –这个是服务器返回给客户端的状态码。
%b –最后这项是返回给客户端的不包括响应头的字节数。
“%{Referer}i” –此项指明了该请求是从被哪个网页提交过来的。
“%{User-Agent}i” –此项是客户浏览器提供的浏览器识别信息。

 

 

 

-----------------------修改hostname后,apache启动报错

 

[Tue Mar 30 21:32:50 2010] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "bogon"
修改/etc/hosts,添加一行

127.0.0.1    bogon      localhost

 

 

 

 

--------------------------------Order allow,deny   Allow from all

 

 

常用:
Order allow,deny
Allow from all
影响最终判断结果的只有两点:
order语句中allow、deny的先后顺序;
allow、deny语句中各自包含的范围。

Apache有一条缺省规则,“order allow,deny”本身就默认了拒绝所有的意思,因为deny在allow的后面;
同理,“order deny,allow”本身默认的是允许所有;当然,最终判断结果还要综合下面的allow、deny
语句中各自所包含的范围;(也就是说order语句后面可以没有allow、deny语句)



“order allow,deny”代表先判断allow语句再判断deny

断原则分4步走——

1. 首先判断默认的;

2. 然后判断逗号前的;

3. 最后判断逗号后的;

4. 最终按顺序叠加而得出判断结果。


上面三点我说的简单而形象,主要是为了便于记忆。暂时不理解不要紧,继续看下面详细的解说自然会明白。下面以一个普通例子来做解释——
order deny,allow
allow from 218.20.253.2
deny from 218.20

1. 所谓“首先判断默认的”,就是判断“order deny,allow”这句,它默认是允许所有;

2. 所谓“然后判断逗号前的”,因为在本例子中的order语句里面,deny在逗号的前面,所以现在轮到判断下面的deny语句了——“deny from 218.20”;

3. 所谓“最后判断逗号后的”,因为在本例子中的order语句里面,allow在逗号的后面,所以最后轮到判断下面的allow语句了——“allow from 218.20.253.2”。

4. 所谓“最终按顺序叠加而得出判断结果”,这是一个形象化了的说法,我把每一步判断都看作一个“不透明的图层”,然后一步步按顺序叠加上去,最终得出的“图像”就是判断结果。

 

 

在所要禁止的目录中的.htaccess文件中添加一下两行代码。

RewriteEngine on
order allow,deny
deny from all
(可以把all换成某一ip地址)

 

或者加入httpd.conf

<Directory "/var/www/html/***/admin/interface">
    Options FollowSymLinks
    order allow,deny
    deny from all
</Directory>

 

---------------------------------------------------------apache中禁止一般用户访问后台特定目录


  这个技术非常重要,能够控制一些非法用户访问本内容。假设我们的网站: http://192.168.0.8/phpmvc/guide/WEB-INF 是我们的后台管理目录,我不允许一些非法用户进行访问,那么我就必须设定对该目录访问是需要验证的。
方法:
1、打开apache的配置文件httpd.conf,在文件末尾加入如下代码:
<Directory "D:/programs/workspace/phpmvc/guide/WEB-INF">
authtype basic
authname "Private"
authuserfile D:/programs/Apache2/bin/admin.dat  //保存认证信息的文件
require user feng  //‘feng’需要认证的用户名
Options Indexes FollowSymlinks MultiViews
AllowOverride None
</Directory>
2、打开命令提示行,切换到apache的bin目录下(如:D:\programs\Apache2\bin)。
3、运行命令htpasswd -c admin.dat feng进行密码的设置。
4、设置完后重起apache。

 

----------禁止apache显示目录文件列表

<Directory   /path/to/directory>
        Options   Indexes   FollowSymLinks
        AllowOverride   None
</Directory>

 

Options   Indexes   FollowSymLinks改为

Options   FollowSymLinks

就不会浏览目录了,加上就又可以浏览目录了

 

 

 

---------禁用符号连接追踪
如果你是唯一一个校对Web内容的人员,而你在创建新的符号连接时又几乎不犯错误,你可能不会担心此措施。不过,如果你有很多人员能够向你的站点增加内容,并非所有的人都像你一样谨慎从事,那么就会有一种风险,即某个用户可能偶然会创建一个符号连接指向你的文件系统的一部分,而你又确实不想让人们看到这些文件。例如,如果你的Apache服务器的根目录中的某人创建了一个指向 "/”文件夹的符号连接,你该怎么办?

为了取消Apache服务器允许用户追踪符号连接的请求,应该在Directory命令中清除FollowSymlinks指令。

例如,在笔者的试验性的Apache 2.2.4服务器中,Directory命令如下:

 

<Directory "/usr/local/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverrride None
Order allow,deny
Allow from all
</Directory>

 

在清除了FollowSymLinks后,就成为如下的样子:

 

<Directory "/usr/local/apache/htdocs">
Options Indexes
AllowOverrride None
Order allow,deny
Allow from all
</Directory>

 

 =====================Listen指令具体化

 

在你第一次安装Apache时,httpd.conf包含一个"Listen 80”指令。应将其改变为 "Listen mn.xx.yy.zz:80”,在这里"mn.xx.yy.zz”是你想让Apache监听其请求的IP地址。如果你的Apache运行在一个拥有多个IP地址的服务器上时,这一点尤其重要。如果你不采取预防措施,默认的"Listen 80”指令告诉Apache监听每一个IP地址的 80端口。

不过,这项措施有可能不适用于你的环境,应根据需要而定。

 

 

===============隐藏web服务器请求文件头

HTTP/1.1 200 OK
Date: Sun, 27 Apr 2008 11:56:46 GMT
Server: Apache/2.2.8 (Unix) DAV/2 PHP/5.2.5 with Suhosin-Patch
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "387a5-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html

几乎把web服务器详细信息都暴出来了,如果没个版本的apache和php爆出严重漏洞,会给攻击者提供最有攻击价值的安全信息,这是非常危险的

将apache的配置文件加上两行

 

ServerTokens ProductOnly
ServerSignature Off


重启apache让设置生效
再次发出apache头信息请求

HTTP/1.1 200 OK
Date: Sun, 27 Apr 2008 11:57:40 GMT
Server: Apache
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "387a5-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html

 

ServerSignature 三个选项
On|Off|EMai 主要起开关作用

ServerTokens 四个选项
Minimal|ProductOnly|OS|Full 四个选项隐藏信息依次增加

 

=========

 

 

 

 

# 下面的行防止.htaccess和.htpasswd文件被Web客户查看。
#
<Files ~ "^\.ht">
order allow,deny
Deny from all
</Files>
#
# Typeconfig:
定义在哪里查询mime.types文件。
#
TypeConfig conf/mime.types
#
# DefaultType:
定义当不能确定MIME类型时服务器提供的默认MIME类型。
# 如果你的服务主要 含text或HTML文档,“text/plain”是一个好的选择;
# 如果大多是二进制文档,诸如软件 或图像,你应使用
# “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。
#
DefaultType text/plain
#
# mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索(hints),
# 这个MIMEMagicFile指令定义hints定义所在的文件。
#
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
#
# HostnameLookups:指定记录用户端的名字还是IP地址,例如,本指令为on时
# 记录主机名,如www.apache.org ;为off时记录IP地址,204.62.129.132。
# 默认值为off,这要比设为on好得多,因为如果设为on则每个用户端请求都将会
# 至少造成对 nameserver 进行一次查询。
#
HostnameLookups Off
#
# EnableMMAP:控制是否进行内存转储(如果操作系统支持的话)。
# 默认为on,如果你的服务器安装在网络文件系统上(NFS),请关闭它。
# 在一些系统上,关闭它会提升系统性能(与文件系统类型无关);
# 具体情况请参阅http://httpd.apache.org/docs-2.0/mod/core.html #enablemmap
#
# EnableMMAP off
#
# EnableSendfile:控制是否使用sendfile kernel支持发送文件
# (如果操作系统支持的话)。默认为on,如果你的服务器安装在网络文件系统
# (NFS)上,请你关闭它。
# 参见http://httpd.apache.org/docs-2.0/mod/core.html #enablesendfile
#
# EnableSendfile off
#
# ErrorLog:错误日志文件定位。
# 如果你没有在<VirtualHost>内定义ErrorLog指令,这个虚拟主机的错误信息
# 将记录在这里。如果你在那儿定义了ErrorLog,这些错误信息将记录在你所
# 定义的文件里,而不是这儿定义的文件。
#
ErrorLog logs/error_log
#
# LogLevel:控制记录在错误日志文件中的日志信息数量。
# 可能的值括:debug,info,notice,warn,error,crit,alert,emerg。
#
LogLevel warn
#
# 下面的指令为CustomLog指令定义格式别名。
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# 你需要安装了mod_logio.c模块才能使用%I和%O。
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
#
# 指定接入日志文件的定位和格式(一般日志格式)。
# 如果你没有在<VirtualHost>内定义这个指令,传输信息将记录在这里,
# 如果你定义了这个指令,则记录在你指定的位置,而不是这儿定义的位置。
#
CustomLog logs/access_log common
#
# 如果你想要记录agent和referer信息,可以使用下面的指令
#
# CustomLog logs/referer_log referer
# CustomLog logs/agent_log agent
#
# 如果你想要使用一个文件记录access,agent和referer信息,
# 你可以如下定义这个指令:
#
# CustomLog logs/access_log combined
#
# ServerTokens
# 这个指令定义含在HTTP回应头中的信息类型。默认为“Full”,
# 这示在回应头中将含模块中的操作系统类型和编译信息。
# 可以设为列各值中的一个:
# Full | OS | Minor | Minimal | Major | Prod
# Full传达的信息最多,而Prod最少。
#
ServerTokens Full
#
# 随意的添加含服务器版本和虚拟主机名字一行信息到server-generated输出页中
# (内部错误文档,FTP目录列,mod_status和mod_info输出等等,除了CGI错误
# 或自定义的错误文档以外)。
# 设为“EMail”将含一个指向ServerAdmin的mailto:连接。
# 可以为如下值:On | Off | EMail
#
ServerSignature On
#
# Aliases:在这时添加你需要的别名,格式如下:
# Alias 别名 真实名
#
# 注意,如果你在别名的未尾含了“/”,那么在URL中也需要含“/”。
# 因此,“/icons”不是这个示例中的别名。
# 如果别名中以“/”结尾,那么真实名也必须以“/”结尾,
# 如果别名中省略了结尾的“/”,那么真实名也必须省略。
#
# 我们使用别名“/icons/”来示FancyIndexed目录列,如果你不使用、
# FancyIndexing,你可以注释掉它。
#
# Alias /icons/ "/usr/local/apache2/icons/"
# <Directory "/usr/local/apache2/icons">
# Options Indexes MultiViews
# AllowOverride None
# order allow,deny
## Allow from all
# </Directory>
#
# 这将改变ServerRoot/manual。这个别名提供了手册页所在的位置,
# 即使你改变了你的DocumentRoot。如果你对有无手册页并不在意的话,
# 你可以注释掉它。
#
Alias /manual "/usr/loacl/apache2/manual"
<Directory "/usr/local/apache2/manual">
Options Indexes FollowSymLinks MultiViews IncludesNoExec
AddOutputFilter Includes html
order allow,deny
Allow from all
</Directory>
#
# ScriptAlias:指定含服务脚本的目录。
# ScriptAliases 本质上与Aliases一样,除了这里的文档在请求时做为程序处理处理以外。
# 尾部的“/”规则与Alias一样
#
ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"
# 这里是添加php 4支持的指令
AddType application/x-httpd-php .php
LoadModule php4_module modules/libphp4.so
<IfModule mod_cgid.c>
#
# 添加mod_cgid.c设置,mod_cgid提供使用cgid进行通讯的UNIX套接字的
# 脚本接口路径。
#
# Scriptsock logs/cgisock
</IfModule>
#
# 将"/usr/local/apache2/cgi-bin"改为你的ScriptAliased指定的CGI目录,
# 如果你配置了的话。
#
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
order allow,deny
Allow from all
</Directory>
#
# Redirect允许你告诉客户端使用存在于服务器名字空间中的文档,
# 而不是现在的,这帮助客户定位那些改变了位置的文档。
# 例如:
# Redirect permanent /foo http://www.example.com/bar
#
# 控制server-generated目录列显示的指令
#
#
# IndexOptions:控制server-generated目录列显示特征。
#
IndexOptions FancyIndexing VersionSort
#
# AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示,
# 只适用于FancyIndexed指令

 

 

#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
#
# DefaultIcon 为那些没有显式定义图标的文件提供处理
#
DefaultIcon /icons/unknown.gif
#
# AddDescription允许你在server-generated索引后放置一个简短的说明。
# 只对FancyIndexed指令有效。
# 格式:AddDescription "说明" 文件名
#
# AddDescription "GZIP compressed document" .gz
# AddDescription "tar archive" .tar
# AddDescription "GZIP compressed tar archive" .tgz
#
# ReadmeName指定服务器默认查找的README文件的名字,并添加到目录列
#
# HeaderName指定目录列前缀文件的文件名
ReadmeName README.html
HeaderName HEADER.html
#
# IndexIgnore指定目录索引忽略并且不含在列中的文件名集合,
# 支持shell类型的通配符。
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#
# AddEncoding允许你在信息传送中使用(Mosaic/X 2.1+)解压缩信息,
# 注意:不是所有的浏览器都支持这个选项。
# 尽管名字相似,但是下列的指令与上面的FancyIndexing定制指令不同。
#
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
#
# DefaultLanguage和AddLanguage允许你指定文档的语言。
# 这使你可以让用户用容易理解的语言浏览文档。
#
# 指定默认的语言,这意味着所有没有指定语言的包 都将使用该语言。
# 多数情况下,你也许并不想设置它,除非你确信这样做是正确的。
# 通常,不使用确定的语言比使用错误的语言要好。
#
# DefaultLanguage nl
#
# 注意1:作为语言关键字的词缀毫无疑问是不能一样的--采用波兰
# 文的文档(网络标准语言代码是pl)将希望使用“AddLanguage pl .po”
# 来避免与perl脚本的一般词缀产生二义性。
#
# 注意2: 下面的例子举例说明在一些范例中语言的二字符缩写与它的国家
# 的二字符缩写不相同,例如 “Danmark/dk” 和 “Danmark/da” 的比较.
#
# 注意3: 在 “ltz” 的情况下我们使用三字符词缀,违犯了 RFC的规定,
# 运行中将修复它并使用RFC1766标准取得参考数据。
#
# Danish (da) - Dutch (nl) - English (en) - Estonian (et)
# French (fr) - German (de) - Greek-Modern (el)
# Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko)
# Portugese (pt) - Luxembourgeois* (ltz)
# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
# Russian (ru) - Croatian (hr)
#
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage he .he
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddLanguage hr .hr
# LanguagePriority允许你在会话过程中优先使用一些语言。
## 以优先次序递减的方式列出它们。我们或多或少地采用按字母排列顺序的方式
# 排列它们。也许你想要改变这个顺序。
LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw
#
# ForceLanguagePriority 允许你为MULTIPLE CHOICES(Prefer)[在通讯的情况下]
# 或NOT ACCEPTABLE(Fallback)[没有可接受的语言匹配的情况]提供一个结果页。
#
ForceLanguagePriority Prefer Fallback
#
# 为发送出的所有页指定默认的字符集,这总是一个好主意,并且为你的
# web站点的国际化打开了大门,这不正是你曾经想要的吗。同样地,指定
# 默认字符集有一些小的损害,如一个使用iso-8859-1(latin1)标准命令
# 的页面,除非以别的方式指定例如你仅仅以显式方式声明它。
# 也有一些与那些总是鼓励你使用默认字符集的javascropt和URL语法有关
# 的浏览器安全原因。
#
#AddDefaultCharset ISO-8859-1
AddDefaultCharse GB2312
#
# 一般以文件扩展名的方式使用字符集。也许你想要避免与语言扩展发生
# 碰撞,除非你在每次改变后都做了很好的测试。
# 参见http://www.iana.org/assignments/character-sets 以取得字符集
# 的名字列表 和它们各自的RFCs。
#
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# 对于俄语,使用了多个字符集(如何使用主要依靠客户端):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8

# 下面的字符集没有映射到一个特定的标准(iso)上,但是它们在浏览器
# 中被广泛的支持。注意那些大写字母。
# (它不应该,但是它是为兼容一些浏览器而做)
#
# 参见http://www.iana.org/assianments/character-sets 以取得
# 它们的列表 。但是浏览器支持较少。
#
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
#
# AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME
#
AddType application/x-tar .tgz
AddType image/x-icon .ico
#
# AddHandler允许你映射确定的文件扩展名到“handlers”:
# 与文件类型无关的行为。这既能编译到服务器中也可以添加到Action指令
# 中(看下面)。
# 为了在ScriptAliased指令指定的以外使用CGI脚本:
#(要使它可用,你还需要在Options中添加“ExecCGI”。
#
# AddHandler cgi-script .cgi
#
# 对于那些包 含他们自己的HTTP头的文件
#
# AddHandler send-as-is asis
#
# 对于server-parsed imagemap文件:
#
# AddHandler imap-file map
#
# agemap 文件:
#
#AddHandler imap- 文件映像
#
# 对于类型映像 转移资源)
#(这是默认的设定以允许Apache的“It Worked”页能多种语言分发)。
#
AddHandler type-map var
#
# 过滤器允许你在将它发送到客户端前进行处理。
#
# 为了在服务器端分析包 含(SSI)的.shtml文档:
# (要执行这个指令,你还需要在Options指令中添加“Includes”。)
#
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
#
# Action让你定义当调用匹配的媒体文件时将要执行的脚本。这将减少
# 那些经常使用的CGI脚本的URL路径名的重复输入。
# 格式:Action media/type /cgi-script/location
# 格式:Action handler-name /cgi-script/location
#
#
# 可配置的错误应答有三种风格:
# 1)plain text 2)local redirects 3) external redirects
#
# 一些示例:
# ErrorDocument 500 "The server made a boo boo."
# ErrorDocument 404 /missing.html
# ErrorDocument 404 "/cgi-bin/missing_handler.pl"
# ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# 综合应用这些指令,我们可以创建一个国际化的出错应答。
#
# 我们使用Alias来重定向任意/error/HTTP_<error>.html.var应答到
# 我们的多语言错误消息集合。使用正确的文本替代它。
#

 

# 通过加入下面的行,你就能够改变这些消息的显示,而不必改变
# HTTP_<error>.html.var文件。
#
# Alias /error/include/ "/your/include/path/"
#
# 以将/usr/local/apache2/error/include/下的文件拷贝到/your/inclue/path/下
# 开始,你可以创建你自己的文件集合,甚至是其于每个虚拟主机的。
# 不管你的ServerSignature如何设置,默认的包 含文件将显示你的
# Aapche版本号和你的ServerAdmin邮件地址
#
# 国际化的错误文档需要mod_alias,mod_include和mod_negotiation三个
# 模块。要激活它们,取消下面30行的注释符号
# Alias /error/ "/usr/local/apache2/error/"
#
# <Directory "/usr/local/apache2/error">
# AllowOverride None
# Options IncludesNoExec
# AddOutputFilter Includes html
# AddHandler type-map var
# order allow,deny
# Allow from all
# LanguagePriority en de es fr it nl sv
# ForceLanguagePriority Prefer Fallback
# </Directory>
#
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error.php
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
#
# 下面的命令更改标准的HTTP应答行为以处理己知的浏览器问题。
#
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
#
# 下面命令关闭对那些没有尾部“/”的目录的非GET请求的重定向,
# 这些命令修复了微软的采用DAV方法不能正确处理重定向的WEB文件夹的问题。
# Apple下的DAV文件系统和Gnome下的VFS对DAV的支持也是采用这样的方法
# 进行处理的。
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
#
# 允许你使用URL:http://servername/server-status 来通过mod_status生
# 成并报告服务器状态信息。改变.example.com为你自己的域名。
#
# <Location /server-status>
# SetHandler server-status
# order deny,allow
# Deny from all
# Allow from .example.com
# </Location>
#
# 允许使用URL:http://servername/server-info 来远程报告服务器配置信息
# (需要mod_info.c支持)。改变“.example.com”为你自己的域名。
#
# <Location /server-info>
# SetHandler server-info
# order deny,allow
# Deny from all
# Allow from .example.com
# </Location>
#
# 代理服务器命令,去掉下面的行使代理服务可用。
#
# <IfModule mod_proxy.c>
# ProxyRequests On
# <Proxy *>
# order deny,allow
# Deny from all
# Allow from .example.com
# </Proxy>
#
# 安装或关闭HTTP/1.1“通道”头处理。
# (“Full”添加服务器版本信息,“Block”移掉所有输出“通道”头信息。
# 可以设为下面各选项之一:Off | On | Full | Block
#
# ProxyVia On
# 最好为代理服务安装高速缓冲,去掉下面几行的注释符号:
# (没有CacheRoot则不缓冲)
#
# CacheRoot "/usr/local/apache2/proxy"
# CacheSize 5
# CacheGcInterval 4
# CacheMaxExpire 24
# CacheLastModifiedFactor 01
# CacheDefaultExpire 1
# NoCache a-domain.com another-domain.edu joes.garage-sale.com
# </IfModule>
# 代理命令结束。
#
# 附加的特定模块配置。
#
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>
## 第三区:虚拟主机
#
# VirtualHost:你可以通过设置虚拟主机容器以实现在你的主机上保有多个
# 域名/主机名。大多数配置信息只使用基于名字的虚拟主机,因此服务器
# 不必担心IP地址的问题,下面的命令以*号代替虚拟主机名。
#
# 在你试着配置你的虚拟主机以前,请参见
# URL:http://httpd.apache.org/docs-2.0/vhosts/ >以取得更多的信息。
#
# 你可以使用命令行选项“-S”来检验你的虚拟主机配置。
#
# 使用基于名字的虚拟主机。
#
# NameVirtualHost *
#
# 虚拟主机示例:
# 几乎所有的Apache命令都可以在虚拟主机容器中使用。
# 第一个虚拟主机区是用于向服务名未知的请求进行应答的配置。
#
# <VirtualHost *>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log commom
# </virtualHost>

分享到:
评论

相关推荐

    Nginx.conf配置安全优化

    error_log 日志,nginx 停止/平滑重启,开启记录nginx access log中post请求,nginx 日志格式。

    PHP中关于php.ini参数优化详解

    而php-fpm.conf适合nginx+fcgi的配置 首先选择产品环境的php.ini(php.ini-production) /home/oldboy/tools/php-5.3.27/php.ini-development /home/oldboy/tools/php-5.3.27/php.ini-production 1.打开php的安全...

    ZABBIX从入门到精通v3.0.1+-+运维生存时间(2016).pdf

    zabbix actionn报警配置报警配置 ............................................................................................................................................................................

    centos7.5分布式平台搭建.docx

    24.5. 拷贝etcd.conf和etcd.service文件到其他2个节点 74 24.6. 启动服务 74 24.7. 测试集群 75 24.8. 注意事项 75 25. Kubernetes集群安装部署 75 25.1. Master节点部署 75 25.1.1. 复制文件 75 25.1.2. 部署kube-...

    Linux FTP服务搭建

    在vsftpd.conf文件中配置匿名访问: anonymous_enable=YES 启动vsFTPd服务 [root@localhost ~]#/etc/init.d/vsftpd start 停止vsFTPd服务 [root@localhost ~]#/etc/init.d/vsftpd stop 重新启动vsFTPd服务 [root@...

    php资料库4 防止foeach中变量不是数组

    通过对php一些服务器端特性的配置加强php的安全.txt 防止foeach中变量不是数组.txt 在PHP里得到前天和昨天的日期的代码.txt PHP实例:FCKeditor 的配置和使用方法.txt Server Application Unavailable.txt 解决Imail...

    Maven权威指南 很精典的学习教程,比ANT更好用

    安全保护 11.7.3. 平台分类器 11.8. 小结 12. Maven Assemblies 12.1. Introduction 12.2. Assembly Basics 12.2.1. Predefined Assembly Descriptors 12.2.2. Building an Assembly 12.2.3. ...

    Nginx启动SSL功能,并进行功能优化详细介绍

    Nginx启动SSL功能,并进行功能优化,你看这个就足够了 一:开始Nginx的SSL模块 1.1 Nginx如果未开启SSL模块,配置Https时提示错误 nginx: [emerg] the ssl parameter requires ngx_...

    Carbon Forum v5.9.0

    PHP版本高于5.3.6,并打开PDO_MYSQL(PHP 5.3以上默认支持PDO_MySQL,如果不支持请联系服务商)支持.htaccess文件的解析(即Apache mod_rewrite或IIS ISAPI_Rewrite,Nginx用户请手动复制nginx.conf内容到vhost配置文件...

    RED HAT LINUX 6大全

    14.9 公用smb.conf配置选项 253 14.9.1 特殊约定 254 14.9.2 read Only=Versus writeable=Versus writable=Versus write ok=(S) 254 14.9.3 valid users=(S) 254 14.9.4 invalid users=(S) 254 14.9.5 read list=(S...

    歪酷CMS v2.0 UTF8 RC 20130414.zip

    (1)Web/Conf目录和Public/Config目录没写入权限,将导致系统配置无法使用,这将系统无法安装和使用; (2)Public/Uploads目录没有写入权限,将导致系统相关附件上传功能不能使用; (3)伪静态设置详情见:rewrite.txt ...

    [推荐]php集成环境绿色版

    本程序按服务器标准优化配置,可直接部署服务器及PHP开发环境。(推荐不更改“目的地文件夹”,直接安装。)支持winxp、win2003、win2008、win 7等操作系统。 一、PHP集成环境介绍 PHP 5.2.17 Apache 2.2.21 ...

    良精企业智能建站管理系统 v1.03.zip

    5、访问网址:http://您的网址/admincp.php/ 登录后台,填写安装时设置的帐号,密码进行登录,修改网站配置系统和发布新闻、产品信息即可; 提示:如果根目录下有.htaccess文件后台设置了为静态,请注意修改php配置...

    龙泽新闻类门户网站系统 v2.0.rar

    一:下载配置操作说明 1、服务器环境 mysql 数据库 apache 2、将解压的文件放到服务器的wwwroot目录下 本地放在xampphtdocs项目 Web下面放的是项目文件 3、在压缩包中 有的 mysql 数据库文件 web2.sql 4、新建...

    htaccess:.htaccess片段的集合,对网站的安全性和优化非常有用

    .htaccess片段的集合,对网站安全和优化很有用。 注意:在大多数情况下,将片段拖放到.htaccess文件中时,在某些情况下可能需要进行一些修改。 使用风险自负。 重要信息:Apache 2.4引入了一些重大更改,主要是在...

    Xiuno BBS 高负载安全论坛 v2.1.0 Build20130925.zip

    conf/conf.php 增加 logo_url 配置项,默认为 app_url 2013/8/30 修正新上传附件删除不了的BUG 2013/8/30 Xiuno Editor 插件上线 2013/8/30 修复 Xiuno Editor 编辑器自动清空内容失败的问题 2013/9/1 修复百度...

    .htaccess

    个人档案 查看文章 .htaccess怎么用2007-05-16 14:04(文章来源)http://www.dnpark.com.cn/news/mm/www/1179329504375ZKlMSgYr.html&lt;br&gt;&lt;br&gt;Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用....

    lanmp v2.5一键安装包(包括lamp,lnmp,lnamp安装)

    4 安装脚本大量调整和优化 5 增加debian系统的支持 部分组件的可选安装,如memcache,mysqli,pdo_mysql,innodb等 具体的安装方法可见http://www.wdlinux.cn/bbs/thread-1356-1-1.html 下载安装 wget ...

    Dos命令大全

    memmaker内存优化管理 msd系统检测 undelete恢复被删除的文件 prompt设置提示符 restore恢复已备份的文件 time显示及修改时间 set 设置环境变量 smartdrv设置磁盘加速器 append设置非执行文件的路径 debug...

    淘客帝国v5.12完美破解版

    如果需要自定义伪静态,请确认网站服务器支持根目录下.htaccess、httpd.ini、nginx.conf 三个规则文件中的任意一个。如果不知道,请找主机商确认。 2、增加了自动301跳转设置,选中的话,将自动把所有绑定的域名跳转...

Global site tag (gtag.js) - Google Analytics