Articles of apache 2.4

防止高交换:高stream量站点的服务器的Apacheconfiguration

我拥有一个服务器,托pipe一个高stream量网站,在给定的时间为800 – 1400用户服务。 这些用户通常停留超过5分钟(考虑到用户通常下载大型文件的网站的性质)。 我注意到,服务器每48小时用完一次SWAP,但是我的服务器只使用了5-11%的内存。 我想咨询一下我应该怎样修改Apacheconfiguration来防止它的发生。 我的apacheconfiguration如下: keepalive: Off keepalivetimeout: 5 maxclients: 2500 maxkeepaliverequests: 200 maxrequestsperchild: 10000 maxspareservers: 10 minspareservers: 5 serverlimit: 2600 serversignature: Off servertokens: Full startservers: 5 timeout: 300 服务器规格: Intel XEON E5-1620v2 64 GB DDR3 ECC 1600MHz 2x2000GB

如何限制Apache的subprocess内存使用情况?

– 是的,这个简单的问题。 在大脑死亡的mod_XxX(比如mod_php )应用程序中消耗大量内存太容易,所以我只是想知道Apache允许做什么来应对。

Apache日志HTTP代码调度

当一些HTTP代码被触发时,我想通过电子邮件得到警告,所以我想根据请求的HTTP代码在不同的文件之间调度日志。 就像我可以把这些文件的观察员,然后通过邮件得到警告。 而且,如果HTTP代码在单独的文件中,日志文件应该更轻,所以它会增加我的日志分析器速度。 我试图在没有成功的情况下find有关Apache文档的信息,看起来像我必须使用SetEnvIf类似的东西: SetEnvIf ??http_code?? 403 403log CustomLog ${APACHE_LOG_DIR}/403.log vhost_combined env=403log SetEnvIf ??http_code?? 404 404log CustomLog ${APACHE_LOG_DIR}/404.log vhost_combined env=404log SetEnvIf ??http_code?? 406 406log CustomLog ${APACHE_LOG_DIR}/406.log vhost_combined env=406log etc … 不幸的是,似乎“http_code”看起来像Apache中不存在的一个variables 问:有没有办法根据Apache中的HTTP代码来调度访问日志? 谢谢阅读。

从Apache 2.2迁移到2.4,ssl.conf被忽略

我正在使用Apache 2.4进行EL7的testing安装。 我将现有的/etc/httpd/conf.d/ssl.conf复制到新系统中,build立了selinux,validation了所有的certpath都是kosher, systemctl httpd start了这个服务。 Apache运行无错误。 问题是我的ssl.conf文件被忽略。 我正在使用默认的Apache页面显示 我尝试将/etc/httpd/conf.d/ssl.conf移动到/etc/httpd/conf.modules.d/ (首先删除现有的00-ssl.conf文件),结果相同。 我在哪里错了? 编辑1错误日志显示这个: AH01630: client denied by server configuration: /www/virtualhosts/example.com 我的SSLconfiguration有这样的地方: DocumentRoot /www/virtualhosts/example.com 和 ll /www/virtualhosts/example.com total 4 -rw-r–r–. 1 apache apache 21 Dec 18 14:32 index.php index.php包含: <p>Hello World 我不知所措

Apache指令sorting:全局,前VHost或目录块

我从零开始设置我的第一个虚拟服务器(提供程序名称省略,但它是一个“滴”)。 我一直在使用WHM一段时间,我觉得我很熟悉它。 具体来说,这是一台运行Apache 2.4的Debian 8机器(它使用apache.conf而不是httpd.conf ) 无论如何,我很难弄清楚在哪里把我认为是全球指令(它们应该适用于每个站点)在每种情况下都可用。 简单的例子是设置默认字符集或启用mod_deflate来激活gzip。 更具体地说,我已经写了重写规则来处理不需要的引用(spam referrer,但我不需要关于这个问题我非常熟悉的build议)。 这基本上是我所拥有的: <IfModule mod_rewrite.c> RewriteEngine on Options FollowSymlinks RewriteCond %{HTTP_REFERER} (badreferer1\..*) [NC,OR] RewriteCond %{HTTP_REFERER} (crappy-referer2\..*) [NC,OR] RewriteCond %{HTTP_REFERER} (webiste-i-hate3\..*) [NC] RewriteRule ^(.*)$ http://%1 [R=301,L] </IfModule> 我很确定我的RegEx是正确的(我想redirect所有的协议,所有的子域和所有包含这些string的TLD)。 我的理解是,如果将这些规则添加到每个vhost指令块中,这些规则就可以工作,但似乎非常多余。 我会很好地应用这些规则在全球范围内,但将其添加到我的apache.conf顶部是行不通的 我是否需要将它们包装在<Directory>块中? 我可以把它们放在<Directory />吗? 我的所有网站都在/var/www/html ,是否需要在<Directory /var/www/html>应用这些规则? 我错过了什么(不是在代码方面,因为这个片段是不完整的,但在订购指令和知道把它们放在哪里)? 我想保持我的.conf文件尽可能简洁,避免使用.htaccess (而不是AllowOverrides出于性能的原因),所以我想弄清楚如何让这个工作在apache.conf (把他们在一个通过include调用的文件是可以接受的,因为已经有几个正在使用)。

Linux,apache2,modsecurity阻止Google reCAPTCHAvariables

我有一个Debian Jessie盒子,Apache 2.4和启用了基本规则的默认mod_security。 当我尝试在PHP代码中实现Google reCAPTCHA解决scheme时,modsecurity将阻止返回reCAPTCHAvariables的页面。 正如我所看到的,一个modsecurity SQL注入保护规则阻止我的网站与reCAPTCHA。 有没有一种简单的方法,使得基于SQL注入的规则让Google reCAPTCHA正常工作? 我可以以某种方式排除/白名单variables从modsecurity规则检查? 相关的Apache错误日志条目: [Thu May 05 20:31:17.407153 2016] [:error] [pid 3604] [client 199.67.203.142] ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?i:(\\\\!\\\\=|\\\\&\\\\&|\\\\|\\\\||>>|<<|>=|<=|<>|<=>|xor|rlike |regexp|isnull)|(?:not\\\\s+between\\\\s+0\\\\s+and)|(?:is\\\\s+null)|(like\\\\s+null)|(?:(?:^|\\\\W)in[+\\\\s]*\\\\([\\\\s\\\\d\\"]+[^()]*\\\\))|(?:xor|<>|rlike(?:\\\\s+binary)?)|(?:regexp\\\\s+binary))" at ARG S:g-recaptcha-response. [file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "70"] [id "981319"] [rev "2"] [msg "SQL Injection Attack: SQL Operator Detected"] [ data "Matched Data: […]

在CentOS 7 SystemD上创build多个Apache实例

我试图在CentOS 7上systemd中创build一个重复的httpd服务(为什么?见底部) 这是我迄今为止所做的: #Copy all the files cp -pr /etc/httpd /etc/httpd-bobby cp /usr/lib/systemd/system/httpd.service /usr/lib/systemd/system/httpd-bobby.service cp /etc/sysconfig/httpd /etc/sysconfig/httpd-bobby #Just replace /etc/sysconfig/httpd with /etc/sysconfig/httpd-bobby pico /usr/lib/systemd/system/httpd-bobby.service #Changed port and file locations pico /etc/httpd-bobby/conf/httpd.conf 当我运行它,我得到一个失败,而这: [root~]# systemctl status httpd-bobby.service httpd-bobby.service – The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd-bobby.service; disabled) Active: failed (Result: exit-code) since Tue 2016-06-21 17:38:33 BST; […]

基于LDAP组成员资格的Apache用户authentication不起作用

我想authentication和授权一个LDAP组的所有用户(Windows上的ApacheDS 2.0.0-20,使用组中的多个uniqueMember属性和httpdconfiguration中的“Require ldap-group”语句)来访问Web资源。 尝试进行身份validation的用户也是此LDAP组的一部分,如果我在httpdconfiguration中使用“Require valid-user”语句而不是“Require ldap-group”,则授权用户。 build立: 基于Linux的Apache 2.4.23(来自OpenSuse 42.1 Apache Repository) LDAP:基于MS Windows的ApacheDS 2.0.0-20 ApacheDS LDAP中的组configuration: httpd的configuration摘录: <AuthnProviderAlias ldap ldapconfig> LDAPReferrals Off AuthLDAPBindDN "cn=query,ou=users,o=WJWext" AuthLDAPBindPassword secretpassword AuthLDAPURL "ldap://ldap.hostname:10389/o=WJWext?uid?sub" </AuthnProviderAlias> … LogLevel trace7 <Location /xy> … AuthType Basic AuthName "xy" AuthBasicProvider ldapconfig AuthLDAPGroupAttributeIsDN on AuthLDAPGroupAttribute uniqueMember AuthLDAPMaxSubGroupDepth 0 AuthLDAPSubGroupClass groupOfUniqueNames Require ldap-group cn=groupname,ou=groups,o=WJWext … </Location> […]

RHEL / CentOS 7 – 哪个MPM应该用于多个虚拟主机?

我正在使用Apache 2.4.6构buildRHEL7环境,我需要为几个用户设置几个虚拟主机(假设每个UID有一个虚拟主机)。 在过去的两天里,我读了几乎所有与MPM和虚拟主机configuration相关的东西。 但我还是有一些疑问: 是mpm-itk唯一能够处理多个UID / GID的MPM,以每个虚拟主机的angular度设置选项? 因为它不是基于RHEL的发行版本身,是否可以在不安装mpm-itk的情况下实现相同的目的? 如果是,如何? 如果没有:是否可以/安全地在RHEL 7上安装mpm-itk? 不知道这是一个愚蠢的问题。 我希望你能帮助我。

Nginx + Apache2 +让iPhoneencryption不能显示页面

我有nginx + letsencrypt SSL证书,它的工作正常,除了新的iOS与Safari。 它适用于iPhone 4,但与iPhone 5和更新不是。 我在nginx日志中看到了多个请求: IPADDRESS – – [03/Dec/2016:10:08:08 +0000] "GET / HTTP/2.0" 200 5999 "REFERER" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1" IPADDRESS – – [03/Dec/2016:10:08:08 +0000] "GET / HTTP/2.0" 200 5999 "REFERER" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac […]