1. �嘞拊O定方式�更
原本使用 Order Deny / Allow 的方式,改用 Require
官方�例:
Order deny,allowDeny from all
在 2.4 需要改成
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