首先,这是一点点的背景。 我们有一个定制的PHP应用程序,运行在Apache下,支持我们的网站。 我们目前在我们的网站上遇到高stream量。 这里是我们目前的设置: – 在负载平衡器后面的10个linux web服务器(每个服务器有8个CPU,30Go RAM) – 1个linux mysql数据库服务器(30个CPU,120个RAM) 大多数情况下,stream量都保持良好状态,但是有时候由于不确定的原因,我们看到活跃的mysql连接总数飙升。 它不断泄漏,直到达到最大限度,并最终导致我们的networking用户无法使用该应用程序。 发生这种情况时,从负载平均值,内存,CPU使用率,磁盘交换的angular度来看,所有的服务器都不错。 他们有足够的资源可用。 我们确实注意到有许多Apache进程都有一个CLOSE_WAIT连接状态。 我们在其中一个Web服务器上看到大约600个进程处于该状态。 这似乎是我们遇到的问题的症状。 但是,我们有困难深入挖掘。 这是我的问题: 为什么Apache挂在这些进程? 有什么工具或debugging技术可以用来找出是什么原因造成的? 我们应该看什么指标来了解正在发生的事情? 感谢您的帮助,
我想把我的Apache日志以自定义格式(GELF)发送到UDP接收服务器(运行Graylog2)。 我确信一切正常,但过了一会儿,我得到了一个警告,我的服务器没有响应。 我在Apache错误日志中看到一大堆: piped log program 'nc -w 1 -u logserver 12201' failed unexpectedly 有趣的是,在stream量非常小的服务器上,即使没有网站stream量,我也会在日志中不断看到这个错误。 而当有交通,日志确实发送netcat到graylog – 所以它确实工作。 如果我停止Apache并重新启动它,重新启动后,错误日志中将继续显示错误。 停下来之后,我确定没有失控的进程。 configuration是: LogFormat "{ \"version\": \"1.1\", \"host\": \"%V\", \"short_message\": \"%r\", \"full_message\": \"%r, status: %>s, %O bytes, User Agent: %{User-Agent}i\", \"timestamp\": %{%s}t, \"level\": 6, \"_user_agent\": \"%{User-Agent}i\", \"_source_ip\": \"%a\", \"_duration_usec\": %D, \"_duration_sec\": %T, \"_request_size_byte\": %O, \"_http_status\": %s, \"_http_request_path\": […]
我正在运行使用PostgreSQL的Django应用程序。 服务器正在使用SELinux运行RHEL 6.5。 我遇到了Django应用程序无法连接到数据库的问题,我想这是因为SELinux阻止了它。 这是我在Django中看到的错误: could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 我怎样才能解决这个问题? 我遇到这个post ,但我不知道如何应用解决scheme( chcon -t postgresql_exec_t /path/to/pgbouncer )到我的问题。 谢谢! [编辑] 当我尝试访问网站时,以下是/var/log/audit/audit.log样子: type=AVC msg=audit(1396289984.549:9245): avc: denied { write } for pid=16975 comm="httpd" name=".s.PGSQL.5432" dev=sda1 ino=2359354 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:tmp_t:s0 tclass=sock_file type=SYSCALL msg=audit(1396289984.549:9245): arch=c000003e […]
在Apache 2.2.15的全局configuration部分,我有以下(每个build议 ) <IfModule mod_headers.c> Header add Strict-Transport-Security "max-age=15768000;includeSubDomains" env=HTTPS </IfModule> 我只想在请求不是针对特定的主机(dev.host.com)的时候才添加这个头文件。 只有当不是针对特定的主机时,我使用哪个指令来使标题添加 ? PS:这个问题的第二部分已经被移动了 。
我目前正在用Apache运行Debian Squeeze服务器。 我的OpenSSL版本是0.9.8,我想起来一个能够运行TLS 1.2的版本。 到目前为止,我的研究表明,这是不可能的,但我觉得我失去了一些东西。 有没有升级的path可以让我这样做,或者我需要用更新版本的Debian重build我的服务器?
我在Ubuntu 14.04上运行apache并试图实现SSL。 任何帮助将不胜感激。 default-ssl.conf有: SSLCertificateFile /etc/apache2/ssl/domain.crt SSLCertificateKeyFile /etc/apache2/ssl/domain.csr 当我重新启动apache时,/var/log/apache2/error.log中的错误消息是: [Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found [Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$ [Sun […]
我运行一个服务器上有一些基于PHP的论坛( 香草 1.1.5a),最近我注意到他们发布的post。 一些挖掘发现,Apache似乎正在改变当前时区从+0000到-0500来回请求没有明显的模式,这可以在这样的日志条目中看到: 38.104.58.202 – – [15/Jun/2009:22:40:05 +0000] "GET /extensions/MembersList/library/paginate.js HTTP/1.1" 200 22880 "http://mysite.com/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b99) Gecko/20090605 Firefox/3.5b99" 38.104.58.202 – – [15/Jun/2009:17:40:05 -0500] "GET /extensions/JQuery/jquery-1.2.6.min.js HTTP/1.1" 200 55804 "http://mysite.com/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b99) Gecko/20090605 Firefox/3.5b99" 虽然调整时区差异的时间是相同的,但它似乎导致PHP的date函数返回本地,未调整的时间(随着时间的颠簸混乱发生在论坛的数据)。 我也在同一个VirtualHost上运行一个基于Django的mod_python应用程序。 configuration看起来像这样: <VirtualHost *:80> […]
我们将需要托pipe一系列Mercurial存储库。 为了安全起见,我们将在Apache中使用SSLencryption和htpasswd访问(必需)。 我testing了一个存储库,并使用hgwebdir.cgi并使用hgweb.config来定义存储库path以及allow_push和deny_push指令,但是这个testing设置只会导致更多的问题/问题: 我没有看到任何方式为每个单独的存储库做一个不同的允许/拒绝推送组? 重要的是,我没有看到allow_pull deny_pull方法 – 这是非常重要的,因为每个存储库都有一组不同的用户应该被允许读取或写入。 我们想为所有用户保留一个htpasswd文件。
我想将来自foo.com的80和443上的所有stream量映射到内部服务器:192.168.1.101。 我有一个VirtualHost(在Ubuntu上的Apache 2.2)设置如下(注意,我不得不打破下面的超链接,因为我是一个“新用户”): <VirtualHost *:80> ServerName foo.com ServerAlias *.foo.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://192.168.1.101/ ProxyPassReverse / http://192.168.1.101/ </VirtualHost> 这对于httpstream量很有效。 但是,我似乎无法为https做同样的事情。 我努力了: 更改VirtualHost *:80到* – 但这不起作用(我需要http-> http和https-> https) 为*:443创build一个新的VirtualHost条目,redirect到http://192.168.1.101/ ,但也失败了(浏览器超时) 我在这里和其他地方做了一些search,我能find的最接近的问题就是这个 ,但是没有完全回答。 另外,出于好奇,我试图将所有端口映射到https(通过从http到https更改两个ProxyPass行(并从VH中删除:80),这也不起作用。 ? 有什么想法吗? 提前致谢。
是否有一个包含auth_ldap for apache2的Ubuntu软件包? 我没有看到一个… 谷歌不帮我这个 apt-cache show libapache2-webauth不显示我是否在那里…有更好的命令呢? 更新: 其实这看起来很老,任何人知道,如果它是最新的,只是不需要更新? 你用什么来validationsvn通过与AD的Apache?