我们试图设置一堆Apaches 2.4.18来代理将收到的请求传递给合作伙伴的上游服务器。 我们的合作伙伴使用亚马逊的Elastic Load Balancing,因此我们唯一知道的服务器就是它的DNS名称。 DNSlogging的TTL是60秒,我想知道Apache是否可以遵守这个ttl,只要DNSlogging有效,然后在TTL过期时请求翻译就保持连接正常。 使用mod_proxy DisableReuse = on强制在每次上游需要资源时打开一个新的连接。 只要下面的操作系统进行DNS TTLcaching,就可以实现这个function。 如果没有,每次需要一个新的资源时,Apache将强制一个新的DNS请求,增加响应时间。 我想过玩mod_proxy ttl和超时参数,但我认为我没有正确解决这个问题。 根据文档,mod_proxy的超时参数控制一个套接字等待来自上游的数据的时间,但我不确定Apache实例是否会closures连接并打开一个新的连接。 此外,玩超时是容易出错的,因为较低的值可能会向客户端发送错误的答案。 我花了一些时间试图解决这个设置没有喜悦。 有没有特别的设置来覆盖这种情况? 或者我也跳过了一些东西? 任何帮助,将不胜感激。 最好, Gustau
拒绝服务攻击 在互联网上托pipe一个网站时,拒绝服务攻击是一个常见的威胁。 虽然大多数安全漏洞可以通过避免危险的编码习惯/技术来防止,但DOS保护需要不同的方法。 懒惰的DOS攻击 具体而言,我并不担心networking上的复杂垃圾邮件发送者会使用昂贵的设备(可能优于我自己的设备)来接受付款。 我无法想象任何人都会为了让我的网站停下来而付出那么多的钱。 我更担心的是懒惰的攻击,这些攻击很可能来自聪明的青less年,他们试图在不知情的网站上testing他们的破坏力,特别是那些通过黑客马拉松和事件听说过我的网站和项目的人。 这些“懒惰的攻击”非常便宜,易于执行,并且可以采取简单的浏览器脚本或泛洪程序的forms,向我的站点服务器发送大量的请求。 一个强大的系统(像我的专用服务器)只能通过利用更强大的系统中的弱点,并利用它的能力来抵御自身,才能被弱系统(比如光源资源脚本)带走。 具体来说,我的意思是当同一个用户不断地向服务器发出几乎不需要的请求。 如果用于客户端资源的服务器资源的比例至less大于可用的服务器资源与客户端资源的比例,那么我的网站可能很容易被取消。 if (Server Resources : Client Resources > Server Power : Client Power) { ServerDown(); } 在Apache中确保请求返回策略 我不是问如何使我的Apache站点DOScertificate,而是如何通过locking一个客户端可以在一定时间内发送的请求数量,然后将其视为攻击者,从而减less对便宜,懒惰的DOS攻击的攻击。 这特别适用于php脚本和其他需要更多资源将内容转发给客户端的页面。 什么是最好的办法(MySQL禁止表,Apache设置,蜜jar等),以确保一个相对较小的网站对廉价的DOS攻击? 最初被问到堆栈交换
我有麻烦重新启动Apache。 我所做的只是将我的html文件从git的更改拉到主目录。 这是我的Apache身份说: Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2017-08-25 02:23:28 EDT; 3min 23s ago Docs: man:httpd(8) man:apachectl(8) Process: 2249 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Process: 2247 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) Main PID: 2247 (code=exited, status=1/FAILURE) 这里是我的错误日志: [Wed Aug 23 15:36:17.712634 2017] [core:notice] [pid 8843] SELinux policy […]
我们正在安装Apache httpd服务器的过程中实施某些控制。 其中一个指令,我们试图使用的是LimitRequestBody 。 它指出: 该指令指定请求主体中允许的从0(表示无限制)到2147483647(2GB)的字节数 我们需要限制上传大小为5 GB,但是,指令允许最大值为2 GB或无限制。 使用无限制似乎有风险,因为可以上传几个字节的文件并导致拒绝服务。 有没有办法解决这个问题?
版本:Apache / 2.4.10(Raspbian)PHP / 5.6.30-0 + deb8u1 OpenSSL / 1.0.1t 从linux控制台,testingssl超时: time openssl s_client -connect xyz:443 … Start Time: 1504204638 Timeout : 300 (sec) Verify return code: 0 (ok) — (delay of about 20 secs) —- read:errno=0 real 0m20.903s user 0m0.050s sys 0m0.000s 当上述testing完成时,错误日志显示(在debugging级别设置中) [2017-08-31 12:00:46] [ssl:info] [client 192.168.1.1:38094] AH01964: Connection to child 0 established […]
我正在使用mod_rewritesearch引擎友好的url。 我有这个很好的作品: RewriteRule ^Pay ./pay.php [L] #Pay 但是如果访问者inputhttp://example.com/pay (注意小写),我也想要匹配。 我曾尝试使用NC但我得到一个500错误。 我已经尝试了2个单独的规则一个大写和一个小写,但再次500错误。 这可以使用正则expression式在一行上完成吗? 就像是: RewriteRule ^([Pp])ay ./pay.php [L] #Pay 如果是这样,什么是正确的方法? 如果不是我怎么能不使用mod_spelling来完成这个?
我已经在具有2×2.4GHzCPU和4GB物理内存的数字海洋液滴上安装了Ubuntu 14.04.5 LTS(i686)。 我正在Apache和mod_wsgi上运行一个web2py应用程序。 还有一些额外的Python模块安装在盒子上,如numpy和opencv2。 数据库是MySQL 5.5。 另一台服务器上的WordPress网站使用php-curl调用这个web2py应用程序 。 通常响应时间是2-5秒。 但偶尔会超时(响应时间大于1000秒)。 我在Web2py应用程序中添加了日志logging点,他们告诉我们,在到达应用程序后,所有事情都会在2-3秒内完成。 但是在Apache2访问日志中,响应时间logging为高于1000秒的数字。 在访问日志中,当从Wordpress网站发起请求时 , 请求时间大致相同。 任何人都可以指出如何找出这种间歇性慢响应的原因吗? 谢谢
我是Debian的用户,我正在学apache2.4的mod_fcgid。 我想用它来编写一个python脚本。 当我改变我的脚本,我不得不重新加载Apache。 我已经看到,mod_fastcgi有一个选项+自动更新,但不是在mod_fcgid。 我怎样才能做到这一点?
我使用mod_dbd和mod_authn_dbd来保护对我的网站的访问。 但似乎是不稳定的,几分钟后,重新启动Apache和一些请求,身份validation不再工作了,这个消息在Apache错误日志中: [authn_dbd:error] [pid 21308] [client xxxxx] AH01656: Query execution error looking up 'mylogin' in database [] 编辑更多细节的Apache日志: [authz_core:debug] [pid 9307] mod_authz_core.c(809): [client xxxx] AH01626: authorization result of Require dbd-group mygroup: denied (no authenticated user yet) [authn_dbd:error] [pid 9307] [client xxxx] AH01656: Query execution error looking up 'mylogin' in database [] [core:trace3] [pid 9307] request.c(119): […]
使用Apache 2.4。 我们有两个有效的CA证书,其唯一名称只有一个字符(比如dn:cn = MyCA,O = myOrg,CA2,dn:cn = MyCA,O = MyOrg)。 这两个证书都位于由SSLCACertificateFile Apache指令引用的文件中,因为我们需要对两个CA签名的客户端证书进行身份validation。 这不会发生:只有具有由CA1或CA2签名的客户端证书的浏览器才能访问,具体取决于文件中CA证书的顺序。 因此,如果只有来自CA1的客户端能够validation自己,那么在切换SSLCACertificateFile中的顺序并重新加载Apache之后,只有来自CA2的客户端才能够进行身份validation。 如果我们通过openssl s_client -connect <server>:<port> -prexit执行SSL握手,我们注意到只有一个CA专有名称在接受的CA列表中发送,并且发送的dn取决于命令其中CA证书在SSLCACertificateFile中。 这是有道理的,因为两个专有名称的Openssl计算出的散列是相同的,因为专有名称不应区分大小写。 但是,似乎浏览器执行区分大小写的匹配,相反,如Apache日志中所示,安装在浏览器中的证书在“广告CA”为CA1且客户端证书由CA2签名时不发送,反之亦然。 我们在Windows和Linux上使用Firefox,在Windows上使用Internet Explorer和Chrome。 否则,curl命令行浏览器没有这个问题,当我们调用带有客户端证书和密钥的PEM格式的https URL时。