在几乎只有DHCP客户端的低负载int ra网上有不同的Apache服务器,我们需要logging主机名而不是IP地址。 由于DHCP环境非常dynamic,以后任何将IP重新映射到主机名的尝试都很可能会产生错误的结果。 虽然我们有“ HostnameLookups On ”,但只有访问日志乖乖logging主机名,但ErrorLog不会。 阅读ErrorLogFormat ,我注意到没有%h ,只是%a (意思是“客户端IP地址和端口”)。 那么真的没有办法让Apache也logging错误日志中的主机名…?
我正在运行RHEL 6.4,而且我的可信证书最近已经过期,所以我决定更新它。 我已经从StartSSL获得了一个新的证书。 下载并将证书文件放在服务器上后,我在httpd.d/ssl.conf指定了新的证书。 /sbin/service httpd configtest 说Syntax OK ,但是 /sbin/service httpd restart 导致[FAILED]结果没有错误信息。 我在哪里可以find实际的原因? 更新: [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch [warn] RSA server certificate CommonName (CN) `www.mywebsite.com' does NOT match server name!? 这些线是在特定的病毒宿主的error_log中find的。 (www.mywebsite.com当然是阴谋理由的真实领域的替代)
我正在运行一个CentOS服务器作为一个LAMP栈服务于一个自定义的PHP应用程序。 看起来随机的时间间隔会减慢。 查看服务器状态页面,我看到PID列表被locking了几个相同的Ajax调用所有请求从一个用户的客户端IP。 (知识产权的变化,但总是只有一个) 我看到"Sending Reply"的“M”参数状态是W,这是什么意思? 缓慢通常在5分钟到1小时后自行解决。 然而,有一天我决定执行: service httpd restart graceful. 这完全解决了问题 – 10分钟。 下面是14分钟后的服务器状态,缓慢并locking。 看来这些请求很快就会build立到50,服务器变慢。 要考虑的要点: 多个请求始终来自同一个IP 请求持续约200秒的最大时间(SS) 所有的请求都去一个ajax.php脚本 减速有时不会发生几个星期,然后在几天内发生几次 用户只能在服务器地址的浏览器中打开几个标签〜总共25个 显然最糟糕的问题发生在下午晚些时候 所以我的问题是 : 什么可能会导致此locking,为什么所有请求"Sending Reply" ? 这里是httpd.conf <IfModule worker.c> StartServers 2 MaxClients 50 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
我在ubuntu上运行apache2服务器。 这是一个encryption矿池。 即使访问我们的网站的人大量stream入,一切正常运行。 那么无处不在我们的CPU使用率在所有8核心是在98至100% 我在服务器前使用反向代理来帮助减轻DDOS攻击,但是这是我以前从未遇到过的。 netstat -an | grep:80 | grep SYN | 当发生这种情况时,wc -l会给出100+的输出。 杀死阿帕奇立即将负载下降到正常水平,并允许我的客户继续使用服务器上的其他服务。 但是我们必须让我们的前端工作。 我已经尝试了几个iptables规则,但他们不工作。 我已经修改了我的sysctl根据一些build议: net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv6.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.all.accept_source_route = 0 net.ipv6.conf.all.accept_source_route = 0 net.core.wmem_max = 16777216 net.core.rmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem […]
查看top的输出,我注意到,间歇性地有一个或两个Apache进程消耗大量的CPU – 任何50%到90% CPU使用率的峰值每隔10秒左右就会相当快。 还有其他各种Apache进程正在运行,消耗了2%-4% 我研究了所有尝试追踪哪个虚拟主机/网站负责这些过程的各种方法。 但是,因为他们来得及迅速,我找不到一个可靠的方法来做到这一点。 我试过了lsof ,同时也查看了server-status的输出,但是由于进程持续时间不长,进程ID被重新使用,并且不可能将其绑定到造成问题的虚拟主机。 例如,如果我在有问题的进程ID上运行lsof ,它会列出十几个不同的虚拟主机日志文件,它们在最后几秒内共享该进程ID。 我确信有一个虚拟主机有问题,但我不知道哪一个虚拟主机。 我也检查了MySQL慢查询日志,这并没有显示任何有趣的东西。
如果我去这个urlhttps://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg去寻找SSL证书,那么我看到一个有效的(通配符)证书为我们的域名pse.de 如果我访问这个URL https://85.214.107.230/img/common/globe.png (相同的IP),那么浏览器会抱怨:a)证书已过期,b)它是自签名的。 没关系,那就是pleskpipe理员站点的证书,但是我们的pipe理员无论如何都使用这个站点。 如果我curl这些文件curl发生这种情况: $ curl https://solarpaces2014.pse.de/typo3/fileadmin/template/images/banner.jpg > /dev/null % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 90217 100 90217 0 0 16960 0 0:00:05 0:00:05 –:–:– 319k $ curl https://85.214.107.230/img/common/globe.png > /dev/null % Total % Received % Xferd Average Speed Time […]
我目前有2个Debian服务器(VPS有4GB内存),并且承载了各种不同重要性的网站:一些是生产站点,另外一些是演示/临时/testing站点。 大约有15-20个网站,其中一个即将有相当的stream量。 目前,我已将我的生产站点部署在一台服务器上,并将演示/分段/testing站点部署在另一台服务器上。 两台服务器都运行Apache和MySQL。 我已经阅读并理解了从Web服务器(Apache,但可能要切换到Nginx)分离数据库(MySQL)的大部分好处。 目前我没有任何性能问题,但需要从一台服务器移动到另一台服务器,并想知道现在是不是在两台服务器上重新组织数据的好时机。 目前我没有钱来添加额外的服务器。 我的问题是:把所有的网站放在两台服务器之一和相应的数据库上是否好,因为它们分为生产和演示/分段/testing应用程序,或者我最好保持生产和非生产应用(考虑安全/性能因素)? 理想情况下,我会将所有非生产应用程序迁移到第三台服务器上,但目前为止还没有结束。
是否安全地假设,启用apache模块后没有东西被破坏 ? 例如,我想在生产服务器上启用mod_headers ,但是恐怕它可能会破坏某些东西,也许是因为它可以与其他模块交互或者是由于其他原因?
警告:长。 很多信息在这里。 3年前有人问为什么iptables不能阻塞IP地址? 原因是因为服务器在CloudFlare的后面,这使得不可能按照他们想要的方式直接阻止IP地址,除非您以不同的方式使用它。 任何反向代理或负载平衡器都会导致同样的情况。 同样,我们已经build立了一个规则fail2ban来禁止任何试图暴力进入pipe理login或垃圾邮件xmlrpc的僵尸程序。 站点坐在负载平衡器后面,所以显然我们不能直接禁止IP地址,但是iptables应该接受与分组数据匹配的连接和模式以禁止特定的stream量。 这是fail2ban jail.confconfiguration: [wp-auth] enabled = true filter = wp-auth action = iptables-proxy[name = lb, port = http, protocol = tcp] sendmail-whois[name=LoginDetect, [email protected], [email protected], sendername="Fail2Ban"] logpath = /obfuscated/path/to/site/transfer_log bantime = 604800 maxretry = 4 findtime = 120 这是wp-login请求的简单模式匹配: [Definition] failregex = ^<HOST> .* "POST /wp-login.php ignoreip = # our […]
我有一个GlassFish实例在不同的端口上运行不同的服务。 Apache Web服务器位于GlassFish之前,我想在Apache上设置虚拟主机以redirect到GlassFish服务器上的某些端口。 我已经添加了Tomcat AJP作为jvm选项来监听端口8009,并在lib /下放置必要的.jars。 如何将GlassFishconfiguration为从8009端口redirect到同一实例上的给定端口(服务)?