原文:https://www.cnblogs.com/tjws/articles/3469075.html#top

整理一下Windows环境Apache 2.2 改成 Apache 2.4.1后 httpd.conf 的设定笔记及遇到的问题

参考文章(官方)

http://httpd.apache.org/docs/2.4/upgrading.html

http://httpd.apache.org/docs/2.4/new_features_2_4.html

1. 权限设定方面的变更

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

官方范例

2.2 configuration:

Order deny,allow
Deny from all

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从2.2换至2.4httpd.conf的调整笔记(windows环境)的更多相关文章

  1. svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录

    svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录 Windows下,svn服务器IP本来是内网一台服务器上 ...

  2. 如何在windows环境中搭建apache+subversion(ZT)

    我一直有一个想法就是在本机上象scm一样的搭建一个subversion服务器,然后每天写完代码的时候提交一下,这种感觉好好哦,之前我在windows环境中搭建过纯subversion的服务器兴奋过一阵 ...

  3. windows环境下,apache虚拟主机配置

    在windows环境下,apache从配置文件的相关配置: Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异 ...

  4. Apache Nifi在Windows环境下搭建伪群集及证书登录

    代码地址如下:http://www.demodashi.com/demo/11986.html 前些时间做了关于Apache Nifi分布式集群的搭建分享,但很多时候要搭建分布式集群机器资源是个问题, ...

  5. Windows环境下完全手工配置Apache、MySQL和PHP

    现在LAMP(Linux.Apache.MySQL.PHP/Perl/Python的简称)已经很流行了.在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Win ...

  6. Windows环境下flask+Apache+mod_wsgi部署及爬坑

    文章目录 安装python Windows 环境使用virtualenv和virtualenvwrapper 安装mod_wsgi 安装nginx 安装Apache 遇到的坑 安装Apache遇到的坑 ...

  7. windows环境利用apache 配置虚拟主机

    windows环境利用apache 配置虚拟主机 1.改动http.host #LoadModule vhost_alias_module modules/mod_vhost_alias.so #In ...

  8. Windows环境配置HTTP服务(Windows + Apache + Mysql + PHP)

    1.安装WampServer 2.管理HTTP服务 任务图标绿色为正常启动状态 注意事项:1.检查网络是不是通的 ping 对方IP2.检查防火墙是否开启,如果开启将不能正常被访问3.检查访问权限 A ...

  9. Windows环境下 PHP+Apache+Mysql配置

    网上关于这种搭配的配置有许多许多,但是不知道大家有否碰到这么一个问题,就是做好的PHP程序(内含访问mysql数据库的操作)发布到Apache服务器上之后, 运行程序,提示未找到数据库函数. 仔细检查 ...

随机推荐

  1. VS 2017显示“高级保存选项”命令操作方法

    Visual Studio提供“高级保存选项”功能,它能指定特定代码文件的编码规范和行尾所使用的换行符.在Visual Studio 2017中,该命令默认是没有显示在“文件”菜单中的.用户需要手工设 ...

  2. Eclipse 使用 ButterKnife 细节问题

    原本这都是很常见的功能 加入以下jar库就可以了. 哪里知道左右都不能获得点击时间; http://repo1.maven.org/maven2/com/jakewharton/butterknife ...

  3. spark原理

    SparkContext将应用程序代码分发到各Executors,最后将任务(Task)分配给executors执行 Application: Appliction都是指用户编写的Spark应用程序, ...

  4. 对java web开发的理解

    写完后发现自己好像很多都不知道,管它的,只要自己了解就行了,以后有时间再把这个完善一下吧 感觉就是三层架构翻来覆去的用,以这个为基础不停的扩展,前提是数据量一定要大,不然这些扩展就没啥意思 这是数据量 ...

  5. C++入门

    <完美C++>第5版 (美)Walter Savitch,Kenrick Mock 萨维奇//默克 著  薛正华,沈庚,韦远科 译    出版社: 电子工业出版社 时间2019/4/11- ...

  6. SEO常用命令大全

    SEO常用单个命令如下: link: 指某个特定网站的外部链接,这是一个主要获取排名和权重的主要因素. site: 呵呵,这个是经常用到的了,它是指某个特定网站收录情况. 用法:site: www.  ...

  7. centos firewall使用笔记

    Centos7.x firewalld配置详解推荐文章文章地址:https://blog.csdn.net/jsonxiang/article/details/87873493 一.firewalld ...

  8. Dev gridcontrol 添加多列按钮

    gridcontrol中添加按钮的步骤: 1. 把列的ColumnEdit属性设置为RepositoryItemButtonEdit 2. 把TextEditStyle属性设置为HideTextEdi ...

  9. (转)支持 PS/2 与 USB 的键盘过滤驱动(可卸载)

    Author:  sinisterEmail:   sinister@whitecell.orgHomepage:http://www.whitecell.org Date:    2007-02-2 ...

  10. Eclipse搭建服务器,实现与Android的简单通信

    ---恢复内容开始--- 目标:实现客户端(Android App)与服务器(PC)的简单通信 相关准备:eclipse_mars.tomcat8.Android Studio 实现: 1.java环 ...