Articles of apache 2.4

Apache 2.4不closures连接

我有一个Apache 2.4 webserver,在CentOS的微型AWS实例上运行。 Apache使用prefork MPM模块运行PHP。 服务器通过亚马逊负载均衡器进行访问,该负载均衡器每60秒尝试访问一次服务器的index.php网页。 问题是,在1-2天之后,Apache用index.php页面打开了256个进程,出现以下错误: [Sun Sep 08 02:13:00.356051 2013] [mpm_prefork:error] [pid 1201] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process [Sun Sep 08 02:13:13.656694 2013] [mpm_prefork:error] [pid 1201] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting 通常当发生这种情况时,不再接受新的http连接。 Apache可能不会closures负载均衡器的所有连接。 我们有另一台Apache 2.2的服务器,它没有这个问题,所以可能是2.4版本的问题,它比2.2(我们没有改变Apache的默认configuration)有很大的不同。 mod_status被启用,这是我们可以得到这种情况发生一次的输出: http : //www.speedyshare.com/vE3My/server-status.txt 有谁知道我们如何解决这个问题? 提前致谢!

如何在Apache 2.4上启用mod_spdy

Google已经宣布它已经向Apache基金会捐赠了mod_spdy代码。 Apache SVN中还有一个mod_spdy的主干 。 但是,看起来正在积极发展。 有可能让SPDY在Apache 2.2上工作,但是似乎有2.4个人在这个陷阱状态下搁浅,直到Apache将他们的游戏结合在一起。 这是准确的,还是有另一种方法让SPDY在2.4的过渡期间工作?

Apache httpd工作人员重试

我有一个运行mod_proxy和mod_proxy_balancer的Apache httpd web服务器。 整个/ somedir被发送到2个工作机器,它们使用循环调度程序来处理请求。 每个工作机器都运行IIS,但我不认为这很重要。 我可以通过反复请求包含机器IP地址的单个页面来演示负载均衡器,并以可预测的循环方式从一个页面切换到另一个页面。 如果我closures其中一个IIS服务器并开始请求相同的页面,那么每个页面只包含已启动机器的IP地址。 但是,如果我启动IIS并且不运行我的IIS应用程序,则/ somedir将返回500(因为它应该)。 我已经将500添加到了failonstatus(Apache 2.4),所以当它遇到错误Apache将工作机器置于错误状态。 尽pipeApache仍然向客户端返回代理错误。 如何让Apache捕获代理失败,并以与连接失败相同的方式使用其他工作器重试。 更新 有几乎相同的问题在StackOverflow问,所以join他们在一起。 https://stackoverflow.com/questions/11083707/httpd-mod-proxy-balancer-failover-failonstatus-transperant-switching

为什么Debian Jessie每天早上都会重新加载我的Apache服务器?

将Web服务器从Debian Wheezy升级到Debian Jessie后,每天早上系统日志中会出现以下日志条目。 时间有所不同,但似乎总是发生在大约同一时间(加/减10-15分钟)。 在升级之前,没有任何类似的东西(我记得)。 Oct 23 06:25:02 hostname systemd[1]: Reloading LSB: Apache2 web server. Oct 23 06:25:04 hostname apache2[1545]: Reloading web server: apache2. Oct 23 06:25:04 hostname systemd[1]: Reloaded LSB: Apache2 web server. Oct 23 06:29:10 hostname rsyslogd0: action 'action 17' resumed (module 'builtin:ompipe') [try http://www.rsyslog.com/e/0 ] Oct 23 06:29:10 hostname rsyslogd-2359: action 'action […]

Apache已弃用的SSLCertificateChainFile指令(AH02559)

最近我已经将Apache从2.2升级到2.4,我无法弄清楚如何弃用SSLCertificateChainFile指令。 错误: me@jessie:~$ sudo apache2ctl configtest AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead Syntax OK 我目前的设置: SSLCertificateFile /etc/apache2/cert/ssl.crt SSLCertificateKeyFile /etc/apache2/cert/ssl.key SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.sha2.ca.pem SSLCACertificateFile /etc/apache2/cert/ca.pem 证书由StartCOM签名。 手动说,现在整个链应该在一个文件,由SSLCertificateFile指令指定,但我不知道什么键和顺序我应该连接到这个文件。

是否有可能取代通过代理传递的每个页面上的内容,类似于如何使用mod_rewrite URL?

是否有可能取代通过代理传递的每个页面上的内容,类似于如何使用mod_rewrite URL? 替代文件不清楚。 我有一些页面我是反向代理,有绝对path。 这打破了网站。 他们需要更换和像mod_rewrite这样的工具不拾起它们,因为它们不是URL请求。 <VirtualHost *:80> ServerName servername1 ServerAlias servername2 ErrorLog "/var/log/proxy/jpuat_prox_error_log" CustomLog "/var/log/proxy/jpuat_prox_access_log" common RewriteEngine on LogLevel alert rewrite:trace2 RewriteCond %{HTTP_HOST} /uat.site.co.jp$ [NC] RewriteRule ^(.*)$ http://jp.uat.site2uk.co.uk/$1 [P] AddOutputFilterByType SUBSTITUTE text/html Substitute "s|uat.site.co.jp|jp.uat.site2uk.co.uk|i" ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://uat.site.co.jp/ ProxyPassReverse / http://uat.site.co.jp/ </VirtualHost> 上述两种方法都不能替代HTMLstring <link href="//uat.site.co.jp/css/css.css […]

在htaccess中了解apache 2.4 mod_proxy_fcgi和RewriteRules

我们最近把我们的Web服务器之一切换到apache 2.4,并通过php-fpm和mod_proxy_fcgi运行PHP。 大多数一切运作良好,但有一个问题我还不明白。 我们的一个网站正在运行WordPress,它在.htaccess文件中带来了一个很好的重写规则列表。 而且似乎这些在vhost安装中的ProxyPass指令不能很好地工作。 我们的虚拟主机包含以下configuration: ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.2:9126/<path>/$1 这在大多数情况下工作。 现在,htaccess文件除其他外,还包括: RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ – [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L] 由于该站点是子目录中的多路博客,我读了URL /blogname/wp-admin/load-styles.php?xxxx应该被重写为wp-admin / load-styles.php?xxx(第二个重写规则)。 但是看看mod_proxy日志,实际传递的请求是/blogname/wp-admin/load-styles.php。 我认为这是因为存在一个优先问题 – ProxyPass规则在所有的RewriteRules都被解决之前触发。 我受阻 – 可能是什么原因?

Letsencrypt – 我需要保持“知名”的证书更新吗?

我为我的Apache 2.4服务器创build了一个证书。 为了validation我的服务器,letsencrypt创build了.well-known的文件夹并访问它。 我是否需要保持此文件夹可用(用于证书更新)还是可以删除/阻止文件夹?

DFOREGROUND与Apache混淆

所以我刚刚在一个新的CentOS 7服务器上安装了Apache,使用Yum。 我之前已经安装了很多次Apache,但从来没有见过这样的情况:当我运行ps aux时 ,它总是显示出来 / usr / sbin / httpd -DFOREGROUND 谷歌告诉我,这意味着这个过程将在前台运行,而不是从shell中分离出来,但是我没有真正意识到这一点 – 如果closures我的shell,Apache会死? 我只是想获得正常的Apache行为,并且像往常一样习惯于运行httpd,在后台徘徊,我需要禁用DFOREGROUND吗? (我不知道如何btw)

apache ssl – 无法获得本地颁发者证书

不知何故就在今天突然我的seafile客户端抛出了这个错误。 我不相信它是一个seafile问题,因为我的openssl抛出了完全相同的错误: user@nb-user:~$ echo |openssl s_client -connect seafile.mydomain.ch:443 CONNECTED(00000003) depth=1 C = IL, O = StartCom Ltd., OU = Secure Digital Certificate Signing, CN = StartCom Class 2 Primary Intermediate Server CA verify error:num=20:unable to get local issuer certificate verify return:0 — Certificate chain 0 s:/description=5RygJ9fx8e2SBLzw/C=CH/ST=Thurgau/L=Frauenfeld/O=mydomain GmbH/CN=*.mydomain.ch/[email protected] i:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Class 2 Primary […]