Articles of apache 2.2

Apache内存问题

所以我相信这可能以前曾被问过,但我想确保我得到正确的信息。 我正在运行一个带有Debian 5和Apache 2.2的360 Linode盒子。 我自己编译了一切(没有apt-get)。 每隔一段时间(每隔几个星期一次),我的服务器就会随机“崩溃”:它可能会达到100%的CPU(真的是400%,但你知道我的意思)并交给我们。 你不能SSH进来看看是什么问题,服务器本身停止接受连接。 解决这个问题的唯一方法就是重启机器。 最近发生的时间是24小时,12小时,10小时,8小时,6小时,4小时。最后,我在两天前把它锁起来了。 我注意到磁盘IO被抬高了,几乎没有任何内存了! 另外,有一个运行在3-4%RAM的httpd进程。 而通过船载,我的意思是当我做了ps -ef时,他们占据了整个屏幕。 如果你向上滚动,他们占用了我的SSH客户端的整个缓冲区。 所以我对代码做了一些调整,认为某些东西没有正确closures。 我在我的PHP中修正了内存问题,我开启了更细化的错误日志并修复了一堆错误,这在一定程度上似乎有所帮助。 大约每24小时发生一次事故。 我确信这是因为内存太less而造成的,我收到的命中量正在把我的服务器踢进交换。 由于需要交换的请求太多,磁盘IO通过屋顶射击,导致我的CPU使用率通过屋顶射击,导致我的服务器locking。 我试图解决这个问题:我做了一些研究,发现我应该使用prefork。 我在我的configuration环顾四周,找不到任何ServerLimit或MaxClients或类似的东西,所以我添加了一些“默认”值,我的服务器拒绝接受/任何/传入的连接。 实际上,prefork值会阻塞所有入站httpstream量(可能是因为我的服务器无法处理prefork?idk)。 我看到它的方式,我的服务器“曾经做”是好的,除了所有的这些Apache进程不断挂断和内存泄漏。 有没有办法在Apache进程上设置超时时间,或者对其中有多less个进行限制? 最好的解决scheme是使用prefork似乎很愚蠢; 我必须想象有更好的方法。 多谢你们

Apache – 我应该使用“ProxyPass …”还是“RewriteRule … ”来代理请求?

Apache的文档说,你可以使用mod_rewrite做类似的事情mod_proxy,通过使用[P]选项。 我应该用哪个? 还是没有区别? 现在我使用的是从mod_proxy中的ProxyPass ,因为我也想包含ProxyPassReverse ,而且文档暗示你应该有这个,并且从mod_rewrite文档中不清楚ProxyPassReverse (或者等价的function)是否包含在RewriteRule .. [P] 你用哪个?

htaccess密码中的htaccess密码或符号是否有可能存在问题?

我们有一个使用.htaccess密码保护的目录。 用户名和密码都很长,很复杂,有各种符号。 我可以从我的机器(我已经试过IE,Firefox,Chrome)login,没有任何困难。 但是,某些用户无法login,login失败(尝试login时)。 我一直在网上search有关htaccess用户名/密码的可能限制的细节,但没有太多的运气。 我特别想知道是否有浏览器版本的具体问题,导致给定的浏览器扼杀特定的符号或长度。 从目前我发现的情况来看,crypt是用来encryption密码的,crypt的一些版本(大概是旧的)只能处理8或13的长度。

Apache在CIFSnetworking驱动器上有2GB的文件限制?

build立: Windows和Ubuntu服务器托pipe在VMware ESXi中 我有一个6GB的Windows共享文件 Windows共享使用smbmount挂载在Ubuntu上 指向6GB文件的符号链接是在public_html目录下创build的,这个目录可以被Apache读取 问题: wget得到一个错误Connection closed at byte 2130706432. Retrying. 下载完2130706432字节(正好2032MB,每次都是一样的) Apache返回206 Partial Content而不会在日志中显示任何错误 同样的错误,即使我从localhost下载 使用Firefox代替wget时类似的错误 没有错误,如果我md5sum或cp在Ubuntu上的文件,这表明smbmount和Windows服务器与6GB的文件确定。 如果Apache从本地磁盘提供6GB文件,则不会出现错误,这表明Apache在处理6GB文件时没有问题。 任何想法为什么Apache / symlink / smbmount / Windows将一起使用时会导致错误? 我该如何解决这个问题? 使用的软件: VMware ESXi 4 Update 1 Windows Server 2008 R2 Ubuntu 8.04服务器,vmxnet3 Apache 2.2.8 mount.cifs 1.10-3.0.28a(由smbmount -V返回) 编辑:如果我使用CentOS 4.8 x64而不是Ubuntu 8.04,Apache将断开字节2147483647(2GiB – 1byte)而不是2130706432(2GiB – 16MiB)。

Apache Satisfy指令做了什么?

我偶然发现了一个我无法理解的httpd.conf指令: <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files> 根据文件 ,我会说,由于没有Allow , Satisfy不起作用。 我错了吗? 你认为这个指令是干什么的?

SSL对等端无法协商一组可接受的安全参数

我按照本指南的第1B部分创build了一个证书并自行签名,并设置了Apache来使用该证书,但每当我尝试安全地查看我的网站时,Firefox都会吐出这个错误: 安全连接失败 在连接到animuson.com期间发生错误。 SSL收到的logging超出了允许的最大长度。 (错误代码:ssl_error_rx_record_too_long) 我先用4096试了一下。 然后,而不是使用指南中的4096,我用1028(而我认为是正常的大小使用)。 我在CentOS 5上使用APache2 … 从“/etc/httpd/conf/extra/httpd-ssl.conf”(当然压缩在一起): Listen 443 SSLEngine On SSLCertificateFile "/etc/httpd/conf/ssl/server.crt" SSLCertificateKeyFile "/etc/httpd/conf/ssl/server.key" 有任何想法吗? 编辑 我从默认的ssl.key和ssl.crt目录中移动了几英里,而我做了一些我不记得的东西,这似乎是有效的。 它开始显示“添加exception”页面,我通过根证书安装到我的浏览器,现在它显示以下错误: 安全连接失败 在连接到animuson.com期间发生错误。 SSL对等端无法协商一组可接受的安全参数。 (错误代码:ssl_error_handshake_failure_alert) 我不知道这意味着什么,或者你可能需要什么信息来帮助我。

我可以将Bugzilla与现有的网站和SVN服务器整合吗?

我正在运行一个apache2服务器托pipe一个网站,以及svn源代码库。 目前,svnauthentication是通过mod_auth_dbd与MySQL数据库进行通信来完成的。 用户可以login到他们的账户,并修改账户的详细信息(密码等),并使用相同的login信息svn。 我想知道是否可以将Bugzilla集成到此系统中,以便login和身份validation系统保持不变。 谢谢, 蒂姆

我如何在Apache中进行SSL客户端authentication?

就在最近我发现一台服务器可以使用authentication来检查一个客户是否是他们所说的那个人。 我知道如何签署和启用服务器authentication,但我如何让服务器检查客户端authentication在Apache上是否有效?

有.htaccessdynamic获取RewriteBase

根据我安装我的文件集的位置,似乎RewriteBase似乎必须相应地改变,如果我安装在一个子目录而不是在www的根。 对于我的configuration文件,我使用类似下面的内容来允许pipe理员更改设置以适应其部署环境。 $yaml = file_exists($yamldir) ? Spyc::YAMLLoad($yamldir) : array(); $default = array( 'hostname' => 'mydomain.com', 'base_uri' => '/sub/', 'mysql_host' => 'localhost', 'mysql_username' => 'root', 'mysql_password' => '', 'schema_name' => 'schema1', 'table_name' => 'table1' ); $config = array_merge($default, $yaml); config.yml然后SVN或git被忽略,以允许最大的灵活性。 这似乎是最好的办法。 是否有.htaccess文件的等价物,以读取(或更好地parsing)可能存在或可能不存在的configuration文件? 背景信息 在这种情况下,我的.htaccess需求非常简单: RewriteEngine On RewriteBase /sub RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L] 如果我使用Rails风格的公共目录,而不是有效地“打开”www根,那可能是最好的,但是我可以根据需要来处理。 […]

如何在htaccess中redirect很多redirect?

Q1。 是否有可能进一步优化 / 压缩以下规则,从而使整个redirect更快 ,更容易维护? 有大约二十这些领域! 你得到我的问题的照片! 非常感谢任何和所有的线索+1 RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{HTTP_HOST} ^website.com$ RewriteRule ^$ en/home [R=301] RewriteCond %{HTTP_HOST} ^website.de$ RewriteRule ^$ de/home [R=301] RewriteCond %{HTTP_HOST} ^website.fr$ RewriteRule ^$ fr/home [R=301] 等等等等 Q2。 我应该把这些规则放在一起,比如把[C]放在最后? Q3。 这是从search引擎的angular度redirect的正确方式?