Articles of apache 2.2

Web服务器每天失去6个小时的带宽

在过去的一周左右,我们的CentOS服务器(运行Apache和NGIX作为代理服务器)一直很奇怪,因为它的带宽输出一直从大约晚上十一点到下午四点到大约一百万次(既没有下降也没有提高)。 这是一个图表来说明发生了什么。 我们的服务器运行一些网站,其中之一是我自己的运行WordPress的。 当带宽输出下降时,服务器上的所有站点运行缓慢,这导致我们假设某些事情占用了带宽。 我们已经检查了所有在带宽输出下降的时候运行的cron,但没有什么不寻常的。 另外,如果你需要更多关于服务器的信息,比如它的configuration,我会尽力而为。 任何帮助或build议将不胜感激,也是如果有一个更好的地方,我发布这让我知道:) 这里是httpd的用法 和Nginx的用法 这些发生在22:45到04:00之间

在负载很高的Web服务器上,什么决定了哪些请求连接?

格拉斯顿伯里的门票今天早上开始销售,尽pipe有多个标签打开自己的cookies和疯狂清爽,我甚至没有进入一个页面。 当每个请求刚刚超时时,我在Chrome中出现“此网页不可用”错误。 它让我想知道什么决定什么连接通过高负载。 现在我知道在后端有负载平衡器和票数据库的潜在瓶颈。 但是,假设你有一个Apache实例提供静态的HTML内容,并且正在被大量的请求全部超时。 什么决定了哪些人通过并获得了HTML?

分数显示错误

我把我的网站迁移到新的服务器上。 但是,我得到了显示分数的错误。 这是错误: 在旧服务器上: 我安装了相同的扩展名为PHP。 我错过了什么? 谢谢。 更新: 它与PHP中的默认字符有关。 所以我在php.ini中注释掉了,然后重新启动了Apache。 它工作完美。 default_charset =“iso-8859-1”

用数据库和Apachepipe理多个服务器

我们正在构build一个相对简单的设置,多个Apache服务器可能位于负载均衡器之后,并且只有一个数据库服务器来服务特定的网站,实际上这个服务器需要能够作为数百个独特的站点。 实际的设置并不是什么大问题。 然而,从pipe理的最佳实践来看,没有太多的材料,比如rsync使它们保持同步,但是没有任何东西从中央GUI或者类似的东西来pipe理所有服务器上的各种元素(Apache / MySQL等) 我们是否正在考虑手动pipe理所有的虚拟主机和数据库用户。 木偶和厨师似乎集中在实际的服务器pipe理上,对于我们来说这比实际的日常pipe理数据库访问+ apache要less得多。 有没有解决这个问题的东西,我们已经错过了? 编辑:我忘了补充,像Webmin(这看起来像它是在90年代)和Plesk的东西,重点是在倒卖和基本上矫枉过正我们需要做的事情。

通过CentOS 6.5+服务器上的SSLVerifyCilent在Apache网页服务器上设置客户端证书validation

目标: 我的目标是在Centos框中设置Apache Web服务器,SSL和客户端证书validation与以下Apache虚拟主机类似( http://hstuart.dk/2010/04/09/x-509-certificates-and- mercurial / ): <VirtualHost *:443> SSLEngine on SSLCertificateFile /path/to/myserver.pem SSLCertificateKeyFile /path/to/myserver.key SSLCACertificateFile /path/to/ca.pem SSLCACertificatePath /path/to SSLVerifyClient require <Location /> SSLRequireSSL SSLOptions +FakeBasicAuth AuthName "FakeBasicAuth" AuthType Basic AuthUserFile /path/to/httpd.passwd require valid-user </Location> ScriptAliasMatch ^(.*) /path/to/hgwebdir.cgi$1 </VirtualHost> 当前解决scheme 截至目前,我有一个工作的Apache解决scheme,它基于一个自签名的CA证书,用于创build一个中间CA,再次用于创build一个Web服务器证书( https://jamielinux.com/articles/2013/ 08 /作为你自己的证书权威/ )。 在CA虚拟主机文件中使用CA,中间CA和Web服务器证书来设置SSL通信。 当我不使用SSLVerifyClient时,解决scheme按预期方式工作,无论是在Web服务器本身还是添加了CA证书的窗口框中。 没有唠叨的屏幕,一切都很好。 问题: 但是一旦我添加了SSLVerifyClient,我就可以在windows上获得Firefox的'sslv3 alert handshake failure' ,在centos服务器上获得'sslv3 alert […]

Apache VirtualDocumentRoot偏移超过10个字符

我正在使用mod_vhost_alias,并试图使用一个VirtualDocumentRoot偏移量超过10个字符,如下所示: VirtualDocumentRoot /var/www/qa/%-3.-12+/members 该url将是像namespace-members-qa.server.com 我期望上面插入/var/www/qa/namespace ,但它最终插入为/var/www/qa/a2+ ,因为它将-12+parsing为-1,然后parsing为2+。 有没有简单的方法让apache知道我的意思是-12而不是-1和2? 提前致谢。

Apache2代理服务于一个静态页面

我想站起来apache2代理服务器(proxy.domain.internal 10.2.2.10)执行以下操作: 透明地向本地客户端提供本地内容( http://proxy.domain.internal:8085 / arbitraryContent )。 将所有其他请求转发到http://proxy.domain.internal:8085 / notice.html中的静态页面 我有以下configuration: <VirtualHost *:8888> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/$ http://proxy.domain.internal:8085/notice.html [P] </VirtualHost> 如果没有代理设置,客户端可以浏览proxy.domain.internal:8085上的内部链接,但是无论他们在哪里浏览,代理他们都会得到404错误。 客户端的代理设置是proxy.domain.internal:8888 任何人都可以指向我一个适当的configuration? 我甚至没有看到访问日志中的相关条目,错误日志只是指向/ etc / apache2 / htdocs,我认为是无法进入错误页面。

我的文件/文件夹在Laravel框架有什么权限的git部署?

我有CentOS 7 VPS服务器,我想要有我自己的网站。 我有例如在/var/www/shop 。 本网站使用Laravel框架,这是Apache的configuration <VirtualHost *:80> ServerName shop.itzena.cz DocumentRoot /var/www/shop/public <Directory /var/www/shop/public> AllowOverride All Order allow,deny Allow from all </Directory> Errorlog /var/log/httpd/shop-error.log CustomLog /var/log/httpd/shop-access.log combined </VirtualHost> 在我的家目录我有回购目录,我做回购 mkdir repo && cd repo mkdir eshop.git && cd eshop.git git init –bare 并为git创buildpost-receive钩子 #!/bin/sh git –work-tree=/var/www/shop –git-dir=/var/repo/eshop.git checkout -f 我想从我的本地主机自动部署到我的生活网站与Git。 我也有这个网站在Bitbucket(原产地)的git repsitory。 我该如何设置/var/www/shop的许可

在Apacheconfiguration中允许ELB后面的多个IP

我有多个作为EC2实例运行的应用程序服务器。 只有某些在其他地方运行的裸机服务器才允许与他们联系,他们的IP在httpd.conf应用服务器上明确列入白名单。 为了负载平衡的目的,我想把应用服务器移到ELB的后面,现在我已经读了X-Forwarded-For头文件,这个头文件将被从ELB转发到应用服务器,并且基于这个头文件可以允许某些IP。 我的问题是我如何设置? 目前我在应用程序服务器上的apacheconfiguration如下所示: <VirtualHost *:80> ServerAdmin [email protected] ServerName bar.foo.in DocumentRoot /home/foo/bar <Directory /home/foo/bar> Options Indexes Multiviews FollowSymLinks AllowOverride All Order Deny,Allow Deny from all Allow from XXXX YYYY ZZZZ AAAA </Directory> 我正在考虑使用SetEnvIf指令来允许基于X-Forwarded-For值的IP,但我不确定这一点。 我有以下的变化。 在我投入生产之前,有人可以validation这一点吗? <VirtualHost *:80> ………………. ……………….. <Directory /home/foo/bar> SetEnvIF X-Forwarded-For "XXXX|YYYY|AAAA" AllowIP Options Indexes Multiviews FollowSymLinks AllowOverride All Order Deny,Allow Deny […]

将TMG设置为反向代理https-to-http

tl; dr我很难让TMG正确地将外部的HTTPS连接代理转换为内部的HTTP连接。 我们有一个局域网(10.0.7.0/24),它安装了一个Windows Server 2008盒子,安装了Spiceworks。 Spiceworks使用Apache,并configuration为同时提供HTTP和HTTPS。 只要你从局域网浏览它,它就可以工作,没有问题。 我们也有一个DMZ(172.32.16.0/24),它承载了Forefront TMG服务器,可以访问局域网和互联网。 所以我们尝试设置的是一个反向代理规则,它可以让用户从互联网上访问Spiceworks实例。 对于HTTP,它完美的工作 – stream量通过TMG,并传递到Apache服务器,groovy。 对于HTTPS,不是那么多。 TMG使用其上的证书build立连接,但无法通过HTTPS连接到Apache服务器,并且死于超时错误。 我不认为这是一个networking问题,因为HTTP工作正常。 这不是Spiceworks的HTTPS问题,因为在局域网上浏览它工作正常。 我怀疑TMG在validation我们在Apache服务器上使用的证书时遇到了麻烦,这就是为什么我得到HTTP 500错误“提供给函数的令牌无效”。 TMG使用的证书与Spiceworks服务器上的证书是同一个证书(都是GoDaddy通配证书) – 可能与它有关吗? 我们无法替代许多地方使用的证书,所以如果有一个解决方法,或者我可以改变的TMGconfiguration设置,那将是完美的。 我的另一个select是让TMG在外部代理https://subdomain.domain.tld:443到http://subdomain.domain.tld:80 ,并完全规避SSL问题,但是没有骰子,TMG固执地拒绝以这种方式重写URL。