[Apache] Apache 從 2.2 換至 2.4 httpd.conf 的調整筆記 (windows 環境)
原文地址: http://www.dotblogs.com.tw/maplenote/archive/2012/07/20/apache24_httpd_conf.aspx
整理一下 Windows 環境 從 Apache 2.2 改成 Apache 2.4.1 後 httpd.conf 的設定筆記及遇到的問題
若有興趣可以先看一下官方文件說明 2.4 的差異 ( 我當然是...沒有看完 Orz )
http://httpd.apache.org/docs/2.4/upgrading.html
http://httpd.apache.org/docs/2.4/new_features_2_4.html
/*2012.12.25 補充*/
apache 2.4.3 版有對 window 版的 ssl bug 做修正 ,bug 說明 http://www.apachelounge.com/viewtopic.php?p=22306
這個 bug 簡而言之就是會讓 443 的頁面連線掛點...
1. 權限設定方式變更
原本使用 Order Deny / Allow 的方式,改用 Require
官方範例:
2.2 configuration:
Order deny,allow Deny from all
在 2.4 需要改成
2.4 configuration:
Require all denied
比較常用到的有以下幾種
Require all denied
Require all granted
Require host xxx.com
Require ip 192.168.1 192.168.2
Require local
注意 : 若有設定在 .htaccess 中的也要修改
詳細指令說明 : http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
2. 設定 Log 紀錄方式變更
RewriteLogLevel 指令 改為 logLevel
LogLevel 設定第一個值是針對整個 Apache 設的預設等級,後方可以對指定的模組修改此模組的 Log 記錄等級
範例:
LogLevel warn rewrite: warn
詳細指令說明 請查看: http://httpd.apache.org/docs/2.4/mod/core.html#loglevel
3. Namevirtualhost 被移除
雖然我查官方文件是還有 NameVirtualHost 指令,但是執行時會出現錯誤。
官方文件也寫了這個指令目前是無作用的,因此刪掉此設定。
詳細說明: http://httpd.apache.org/docs/2.4/mod/core.html#namevirtualhost
4. 其他要多載入的模組
使用網站壓縮除了開啟 mod_deflate 外 ,在 Apache 2.4 中還需要多開 mod_filter
使用SSL憑證除了開啟 mod_ssl 外 ,在 Apache 2.4 中還需要多開 mod_socache_shmcb
5. 在 windows 環境建議的設定
EnableSendfile Off
EnableMMAP Off
另外,當 Log 有出現 AcceptEx failed 相關錯誤時,建議調整以下設定
AcceptFilter http none
#AcceptFilter https none 這行 apache 2.4.1 設了就不能連443了,所以我沒設定,在 apache 2.4.3 版可正常運作
bug 修正相關文件: http://www.apachelounge.com/viewtopic.php?p=22306
指令說明 http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter
備註: Win32DisableAcceptEx 指令在 apache2.4 被 AcceptFilter None 取代
相關參考文章:
http://www.neo.com.tw/archives/000223
http://www.iteye.com/news/24881
http://www.apachelounge.com/viewtopic.php?t=4450
6. Listen 的設定調整
以 443 為例,不可以只設定 Listen 443
會出現以下錯誤
(OS 10048)一次只能用一個通訊端位址(通訊協定/網路位址/連接埠)。 : AH00072: make_sock: could not bind to address [::]:443
(OS 10048)一次只能用一個通訊端位址(通訊協定/網路位址/連接埠)。 : 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
因此需指定監聽的 IP ,可設定多個
例如:
Listen 192.168.2.1:443
Listen 127.0.0.1:443
其他異常BUG :
某天突然心血來潮測試了一下可不可以開啟 .htaccess 的檔案,很驚恐的居然可以開啟 冏
原本 httpd.conf 預設不可開啟 .ht* 的設定失效!
<Files ".ht*">
Require all denied
</Files>
測試的結果,httpd.conf 裡的 <Files> 跟 <FilesMatch> 完全失效 !
不確定跟 <VirtualHost> 設定有沒有關係 ( 其實我跟 httpd.conf 沒這麼熟,我都是被刀抵著脖子的 =..=a )
經過半天的折磨,最後發現改用 LocationMatch 設定還勉強行得通
因為我沒有用到 htpasswd ,所以比較不怕 .ht* 的檔案被開啟 ....所以就先用這種跛腳的方式解決了.....
例如:
<LocationMatch "\.svn">
Require all denied
</LocationMatch>
注意: 子階層的 LocationMatch 設定,指令要設在母階層的行數之下,不然會被覆蓋
且不可以對 " .ht* " 設定!!
因為 Server 就無法讀取 .ht* 的資料...當然裡面的設定就不能跑了
另外就是 .htaccess 中,<Files> 跟 <FilesMatch> 可能會失效
而且 .htaccess 裡無法設定 LocationMatch .........(嘆氣)
在我的環境中,Server 2008 的 .htaccess 有生效,
但是在 Win7 環境中,放在第二層資料夾的 .htaccess 有生效 ,若第三層資料夾才放 .htaccess 就會失效
總之一整個詭異...只好先當作 BUG 看待
[Apache] Apache 從 2.2 換至 2.4 httpd.conf 的調整筆記 (windows 環境)相关推荐
- apache apollo php,php windows環境 安裝 Apache-apollo + phpMQTT 實現發送 MQTT
首先安裝Apache-apollo 1.首先從http://activemq.apache.org/apollo/download.html官網上下載windows對應的apollo版本,本文下載的是 ...
- h-bulider怎么搭建php环境,使用Apache+Dreamweaver(或者H-builder)搭建php開發環境
使用得工具說明php+Apache服務器+Dreamweaver+mysql數據庫 下載安裝好wamp,可以在網上直接百度下載,為了方便,我給放個百度雲的鏈接.wamp下載:鏈接:http://pan ...
- apache php php.ini,apache php环境搭建 httpd.conf php.ini 修改点
apache2.4,php5.6环境搭建 配置文件修改注意点 apache Window安装文件下载地址http://www.apachelounge.com/download/ 1.apache h ...
- Apache服务器主配置文件 httpd.conf 中文版
Apache服务器主配置文件 httpd.conf 中文版 # 基于 NCSA 服务器的配置文件 由 Rob McCool 编写! # # Apache服务器主配置文件. 包括服务器指令的目录设置. ...
- Apache主配置文件httpd.conf 详解
2019独角兽企业重金招聘Python工程师标准>>> Apache的主配置文件:/etc/httpd/conf/httpd.conf 默认站点主目录:/var/www/html/ ...
- apache服务器的配置文件httpd.conf中有很多内容,请解释如下配置项:
例子1: Apache服务器的配置文件httpd.conf中有很多内容,请解释如下配置项: (1)MaxKeepAliveRequests 200 (2)UserDir public_html (3) ...
- linux配置apache文件大小,linux下apache中httpd.conf文件配置参数说明
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 linux下的apache服务器,我想大家都不陌生吧,前面我也有讲过apache服务器的配置及注意,今天57号网络技术分享平台的小编将为大家带来apach ...
- apache的httpd.conf中文注释
下面是httpd.conf文件的翻译 # # 基于 NCSA 服务的配置文件. # #这是Apache服务器主要配置文件. #它包含服务器的影响服务器运行的配置指令. #参见<URL:http: ...
- linux 文档属于apache,Apache 安装和使用文档
Apache 安装和使用文档 更新时间:2009年11月26日 00:34:37 作者: Apache安装和使用文档 一.准备工作: 1台PC机,安装linux操作系统 参考文档linux安装.d ...
最新文章
- YOU SAY quot;THE RULE IS HEREquot;,BUT I SAY quot;WHY?quot;
- Rafy 领域实体框架设计 - 重构 ORM 中的 Sql 生成
- React服务端渲染实现(基于Dva)
- js 取值 getElementsByTagName,getElementsByName
- Eclipse 一直Building Workspace 的解决办法
- 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
- [python作业AI毕业设计博客]比Selenium IDE更好用的录制工具: Katalon Recorder
- python创建长度为n的数组_在Python中建立N维数组并赋初值
- php fpm 内存增加,不断增加php-fpm的内存使用量?
- 浮点数学运算是否被破坏?
- JQuery封装的ajax方法
- 直播盒子源码与直播盒子APP如何对接自动发卡平台
- Xilinx ZYNQ Ultrascale+ 性能测试之 Memory Stream
- 微信支付 签名错误 uniapp
- 微信小程序tabBar的开发设置
- 如何向小白程序员解释区块链
- EF 和 EF CORE 逆向生成实体类
- oracle pq distribute,详解Oracle hints PQ_DISTRIBUTE
- java 取结果集的最后三项,
- 微软ImageX工具*.wim文件的备份与恢复