apache2.2 到 2.4后配置文件需要更改的部分

1. �嘞拊O定方式�更

原本使用 Order Deny / Allow 的方式,改用 Require

官方�例:

2.2 configuration:

Order deny,allowDeny from all

在 2.4 需要改成

2.4 configuration:

Require all denied

比�^常用到的有以下�追N

Require all denied

Require all granted

Require host xxx.com

Require ip 192.168.1 192.168.2

Require local

注意 : 若有�O定在 .htaccess 中的也要修改

��指令�f明 : http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require

 

2. �O定 Log �o�方式�更

RewriteLogLevel 指令 改�� logLevel

LogLevel �O定第一��值是��φ��� Apache �O的�A�O等�,後方可以�χ付ǖ哪=M修改此模�M的 Log ��等�

�例:

LogLevel warn rewrite: warn

��指令�f明 �查看: http://httpd.apache.org/docs/2.4/mod/core.html#loglevel

 

3. Namevirtualhost 被移除

�m然我查官方文件是�有 NameVirtualHost 指令,但是�绦�r��出�F�e�`。

官方文件也��了�@��指令目前是�o作用的,因此�h掉此�O定。

���f明: http://httpd.apache.org/docs/2.4/mod/core.html#namevirtualhost

 

4. 其他要多�d入的模�M

使用�W站�嚎s除了�_�� mod_deflate 外 ,在 Apache 2.4 中�需要多�_ mod_filter

使用SSL�{�C除了�_�� mod_ssl 外 ,在 Apache 2.4 中�需要多�_ mod_socache_shmcb

 

5. 在 windows �h境建�h的�O定

EnableSendfile Off

EnableMMAP Off

 

另外,�� Log 有出�F AcceptEx failed 相�P�e�`�r,建�h�{整以下�O定

AcceptFilter http none 

#AcceptFilter https none �@行 apache 2.4.1 �O了就不能�B443了,所以我�]�O定,在 apache 2.4.3 版可正常�\作

bug 修正相�P文件: http://www.apachelounge.com/viewtopic.php?p=22306

 

指令�f明 http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter

�湓]:  Win32DisableAcceptEx 指令在 apache2.4 被 AcceptFilter None 取代

相�P�⒖嘉恼�:

http://www.neo.com.tw/archives/000223

http://www.iteye.com/news/24881

http://www.apachelounge.com/viewtopic.php?t=4450

 

6. Listen 的�O定�{整

以 443 �槔�,不可以只�O定 Listen 443

��出�F以下�e�`

(OS 10048)一次只能用一��通�端位址(通��f定/�W路位址/�B接埠)。  : AH00072: make_sock: could not bind to address [::]:443

(OS 10048)一次只能用一��通�端位址(通��f定/�W路位址/�B接埠)。  : AH00072: make_sock: could not bind to address 0.0.0.0:443

AH00451: no listening sockets available, shutting down

AH00015: Unable to open logs

因此需指定�O�的 IP ,可�O定多��

例如:

Listen 192.168.2.1:443

Listen 127.0.0.1:443

 

其他��常BUG :

某天突然心血�沓�y�了一下可不可以�_�� .htaccess 的�n案,很�@恐的居然可以�_��  �� 

原本 httpd.conf �A�O不可�_�� .ht* 的�O定失效!

<Files ".ht*">

    Require all denied

</Files>

�y�的�Y果,httpd.conf �e的 <Files> 跟 <FilesMatch> 完全失效 !

不�_定跟 <VirtualHost> �O定有�]有�P�S ( 其��我跟 httpd.conf �]�@�N熟,我都是被刀抵著脖子的 =..=a )

��^半天的折磨,最後�l�F改用 LocationMatch �O定�勉��行得通

因�槲�]有用到 htpasswd ,所以比�^不怕 .ht* 的�n案被�_�� ....所以就先用�@�N跛�_的方式解�Q了.....

例如:

<LocationMatch "\.svn">

     Require all denied

</LocationMatch>

注意: 子�A�拥� LocationMatch �O定,指令要�O在母�A�拥男�抵�下,不然��被覆�w

不可以�� " .ht* " �O定!!

因�� Server 就�o法�x取 .ht* 的�Y料...��然�e面的�O定就不能跑了

 

另外就是 .htaccess 中,<Files> 跟 <FilesMatch> 可能��失效

而且 .htaccess �e�o法�O定 LocationMatch .........(�@��)

在我的�h境中,Server 2008 的 .htaccess 有生效,

但是在 Win7 �h境中,放在第二�淤Y料�A的 .htaccess 有生效 ,若第三�淤Y料�A才放  .htaccess 就��失效

�之一整�����...只好先��作 BUG 看待


DotBlogs Tags: apache httpd.conf


你可能感兴趣的:(apache2.2 到 2.4后配置文件需要更改的部分)