Articles of apache 2.2

在Apache中启用核心转储

我想在我的Apache Web服务器中启用核心转储。 由于我有PHP 5.5和OPcache我的Mediawiki网站崩溃,出现以下错误: child pid … exit signal Segmentation fault (11) 所以我想通过核心转储获得更多的信息。 我创build了一个目录: http:http (我的apache用户和组)拥有的/tmp/apache-coredump和777权限。 我添加到httpd.conf文件中: CoreDumpDirectory "/tmp/apache-coredump" 但是,现在(使用CoreDumpDirectory指令)我的Apache服务器在启动时崩溃了: sudo systemctl restart httpd Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details. 日记给我以下信息 apachectl[4149]: CoreDumpDirectory /tmp/apache-coredump does not exist 我检查,目录存在0_° 编辑: 我改变了httpd.conf文件中的CoreDumpDirectory指令,它允许我启动我的Web服务器 CoreDumpDirectory /tmp 没有CoreDumpDirectory指令,ServerRoot( /etc/httpd )目录中不会生成核心转储。 我在Archlinux 3.10.6-2 64位与Apache […]

使用除服务器CA之外的其他CA签署的证书validationHTTPS客户端

我有一个Apache Web服务器,SSL上有一个由信任的官方CA签署的服务器证书。 我可以configurationapache ssl来接受客户端是否具有由签名服务器证书的CA以外的CA签名的有效证书? 我得到一个ssl_error_unknown_ca_alert即使我已经在Apache中configuration了其他CA,并且服务器启动时没有错误。 我创build了一个文件,其中包含签署服务器证书的CA的CA证书以及我想要信任的CA的其他CA证书。 然后我把SSLCertificateChainFile指令指向这个文件。 我使用的是Apache 2.2.22 编辑: 我在用着 指向服务器证书的SSLCertificateFile SSLCertificateKeyFile poiting到服务器密钥 指向签署服务器证书的证书链的SSLCertificateChainFile SSLCACertificateFile指向一个具有所有我想要接受的证书链的文件 SSLVerifyClient require SSLVerifyDepth 1 当我重新启动服务器并且没有错误时,Apache能够在日志中识别它们。 但是,我仍然有一个ssl_error_certificate_unknown_alert错误。 我还通过Meld中的文本比较validation了客户端证书链存在于SSLCACertificateFile中。

PHP + Apache很长的等待时间

我遇到了一个砖墙故障排除我的专用websever。 最近,我的网站飙升的请求数量/每秒,它坠毁。 盒子原有8GB内存,8核心Xeon E3-1230,1TB 7,200 RPM磁盘(无RAID),100M专用networking。 在秒杀之后,我增加了RAM到24GB以支持更多的并发用户。 Apache似乎处理得很好,即使有3000个并发用户,它也会很快(非caching)返回HTML和静态内容。 为了进一步testingApache / HTML和Apache / PHP之间的差异,我运行了ab 。 test.html和test.php都具有完全相同的静态内容,PHP不会调用任何include ,也不会与MySQL连接。 HTMLtesting ab -n 500 -c 50 http://www.~~.com/test.html Connection Times (ms) min mean[+/-sd] median max Connect: 252 375 190.3 276 1399 Processing: 254 354 121.5 282 657 Waiting: 253 353 121.4 280 653 Total: 510 730 231.7 573 1675 PHPtesting […]

会话variables在PHP5 / Apache2 / Ubuntu12中不是持久的

我有一个网站,使用会话variables(在PHP中)来了解访问者是否进入网站。 如果他是新的,那么我将他redirect到检测到的语言。 但是,如果他不是新的,就让他去任何他想去的地方(甚至是其他语言的网页)。 问题是用于实现这个($ _SESSION [“knownvisitor”])的variables不是持久的。 我已经在其他服务器上testing了同一个网站,它工作的很好,所以我很确定这是一个会话configuration问题。 有问题的服务器是Ubuntu服务器12.04.4与Apache 2.2.22和PHP 5.3.10。 会话存储在“/ var / lib / php5”,我可以看到那里的文件,但它们是空的。 会话文件属于“www-data”,拥有以下权限“-rw ——-”。 另一方面,该目录属于“根”并具有这些权限“drwx-wx-wt”。 在redirect之前,我尝试使用“session_write_close()”,正如一些论坛中的build议,没有运气。 redirect就像“header('Location:[URL]')”。 这里是脚本的代码,所以你可以理解它的基本行为。 这就是我在网上所有文件的开头: function detectedlang($availlangs) { // FUNCTION STUFF HERE TO FIND OUT WHICH IS THE LANGUAGE OF THE VISITOR return $detectedlang; } session_start(); if (!isset($_SESSION["knownvisitor"])) { $detectedlang = detectedlang(array("en", "es")); $_SESSION["knownvisitor"] = true; header("Location: […]

mod_fcgid:软件升级后无法应用进程槽

我正在与Wiki和公告板安装共享托pipe计划。 将Wiki升级到最新版本后,我的用户无法再使用集成的“媒体pipe理器”上传文件。 服务器日志显示: mod_fcgid: can't apply process slot for /var/www/cgi-bin/cgi_wrapper/cgi_wrapper, referer: http://www.myurl.com/path/to/wiki/ 我联系了托pipe公司和支持者回答说,他愚弄 FcgidMaxProcessesPerClass FcgidMaxProcesses 无济于事。 他也改变了一些suexec权利,没有成功。 未安装mod_security 。 整个主机的HTTPfile upload被破坏,公告板上的用户也无法上传文件(尝试上传文件时503服务暂时不可用)。 其他一切工作正常。 页面加载速度是好的,用户可以编辑,创build和删除网站等。每个FTP上传文件也在工作。 在这个网站上有<30个活跃的用户,所以我不认为我没有stream程或东西。 我无法直接更改apache设置。 任何想法,我可以告诉支持,看看? 编辑:公告板有一个喊话器,它增加了一些负载的网站。 我清除了所有的信息,减less了留言的数量。 我也停用了所有的wiki插件。 仍然没有成功。

阻止AWS ELB后面的stream量

我的Web服务器在ELB后面,我想阻止来自某个DDOS攻击的特定用户代理的stream量。 Apache总是看到ELB的IP地址作为最终用户,所以我尝试了下面的尝试: 阻止在ELB级别的IP地址是不可能的,因为它有20个IP地址的限制和IP地址在每次攻击时改变。 阻止访问使用重写条件,这个工程,但如果很多命中来,然后服务器负载超过100,所有的Apache线程忙于服务吨的403,所以网站出现合法的请求。 RewriteCond %{HTTP_USER_AGENT} ^SomeThing RewriteRule ^(.*)$ – [F] 用mod_sec块做同样的事情的服务403创造相同的效果上面#2。 使用iptables阻止数据包string模块:阻止具有特定用户代理的数据包。 在这种情况下,iptables发送DROP / REJECT给攻击者,apache没有得到连接现在已经死了的信号,并等待超时导致所有的apache线程超时使用,所以这个方法在这里没有用处。 iptables -I INPUT -i eth0 -p tcp –dport 80 -m string –algo bm –string 'user-agent: SomeThing' -j REJECT 我可以使用iptables的方式,它会从第一个包含user-agent: SomeThing数据包获取IP地址,并阻止所有下一个具有X-Forwarded-For: someIP数据包,时间为4-5小时。 我不想永远阻止IP地址阻塞,因为这些IP地址可以分配给一些合法的用户,并将被阻止。 或者还有其他更好的办法来处理这个攻击吗?

HaProxy – 502错误的网关:在HTTPS端口上使用HTTP

我会尽力解释我的问题。 我正在HaProxy 1.5.8 / apache 2.2上工作,我尝试做一些SSLconfiguration,但是我失败了,失败了,失败了。 我们来看看一些日志: Haproxy日志 Aug 13 17:00:28 localhost haproxy[10930]: xxxx – – [13/Aug/2015:15:00:28 +0000] "URLxxxxx HTTP/1.1" 502 +656 "" "" 50567 131 "FT-https-in~" "BK-https-out" "myserver-https" 13 0 1 -1 +17 PH– 0 0 0 0 0 0 0 "" "" Apache错误日志 [Thu Aug 13 17:02:38 2015] [debug] ssl_engine_kernel.c(1903): OpenSSL: Exit: error […]

Apache httpd的简单用户指南/教程?

有没有一个简单的用户指南或教程的Apache httpd? 我发现官方文档( http://httpd.apache.org/docs/2.2/ )有点难以浏览和学习,如果你不能加快大量的基础知识。

Python Django的更好的Web服务器性能:Apache mod_wsgi或Lighttpd fastcgi

我目前正在使用Apache和mod_wsgi运行一个高stream量的python / django网站。 我希望有一个更快的networking服务器configuration,我已经听说了一些lighttpd和fastcgi的build议。 这个设置比apache + mod_wsgi为服务dynamicDjango页面更快(我已经确信lighttpd可以更好地服务于静态文件)? 网上的基准要么很差或不确定,所以我正在寻找一些个人轶事。 lighttpd + fastcgi提供什么架构好处? 我知道lighttpd使用epoll,并且fastcgi进程将是multithreading的。 另外,有两个独立的进程,一个用于lighttpd,另一个用于python解释器,将会非常有益。 我知道龙卷风和它使用epoll和callback处理成千上万的文件描述符的能力less得多。 不过,我宁愿现在坚持与Django。 谢谢, 肯

Apache mod_rewrite删除问号(?)和查询stringreplace

我用mod_rewrite注册了一个RewriteRule,但是被replace的URL是错误的。 规则是: RewriteRule ^/img/z(0|1)u(.+)\.(gif|jpg|jpeg|png)$ /image-servlet/img/?z=$1&url=$2 [NE,QSA,PT,T=image/$3] 当我访问以下url时: http://localhost/img/z1uABC.jpg 应用的规则redirect到: http://localhost/image-servlet/img/ABC 最终的URL错过了查询stringreplace: ?z=$1&url=$2 并被replace为: $2 有人可以帮我解决我的错误吗? 谢谢, 和过去