Articles of apache 2.2

Apache代理可以向多个服务器发送一个请求吗?

我们希望将Apache代理收到的请求发送给一组下游服务器(实际上也是代理服务器,但是我不认为这很重要)。 我们知道,除了这些请求之外,其他所有请求都会失败,原因很多(服务器在该IP不存在,不在正确的端口上侦听,或者凭据错误)。 我们知道,对于一台服务器,请求应该可以工作(但不一定 – 服务器可能关机,不能正常工作,重载等)。 我们不知道这将是哪个服务器的任何一个请求。 所以我们想要返回一个正确的响应,如果它发生,或者如果没有任何错误响应(或固定的失败响应)应该返回。 有任何想法吗? 如果我们需要从头开始编写,这不是最复杂的应用程序,但是如果可以的话,我们更愿意使用Apache(已经在我们的解决scheme中)。

以最less的停机时间更换networking服务器

我有一个networking服务器在生产。 它的IP是111.111.111.111,它被称为ServerA。 除了存储脚本文件之外,服务器还存储用户上传的文件并具有数据库。 该应用程序使用通配符子域,其中foo.example.com,bar.example.com等转到一个公共虚拟主机,服务器代码根据给定的子域名称作出适当的响应。 我有我的域名注册商指向IP 111.111.111.111,也设置为支持通配符。 我将需要更改networking服务器到一个新的服务器与IP 222.222.222.222它被称为ServerB。 以最less的停机时间来迁移服务器应该采取哪些步骤? 以下是我最初的想法。 请评论如果不正确或如果我缺less步骤。 在ServerA上发布通知,系统将closures进行维护。 在ServerB上设置Apache类似于ServerA上的设置,并在ServerB上添加ServerName为222.222.222.222的另一个虚拟主机(稍后会详细介绍)。 在ServerA上设置Apache以显示closures维护页面而不是访问应用程序脚本。 将脚本文件,上传的用户文件和数据库从ServerA复制到ServerB。 更改域名注册商指向IP 222.222.222.222。 在ServerA上设置Apache将所有请求redirect到IP 222.222.222.222。 这将如何与子域的要求工作? 等待域名更改传播。 在这段时间里我会摔倒吗? 在ServerB完全testing之后,取消ServerA的服务计划。

httpd web服务器服务内容不同的客户端下载速度?

对于我们的游戏,我们将它的静态资产托pipe在一个只安装了httpd的虚拟机上(当然还有一些本地linux的东西),以便为web内容提供服务。 configuration的MPM是MaxClients为6400,ServerLimit 100和ThreadsPerChild 64的工作者。内存为4 GB。 通过以上configuration,所提供的静态内容总大小约为20 MB,并在我国(保加利亚)以及其他国家/地区提供服务。 经过检查和确认,国内和国际的带宽速度没有差别。 然而,在高峰时刻,当带宽超出时,我们开始接受来自远程用户(即来自俄罗斯)的大量投诉,游戏被完全下载2-3分钟。 任何时候,我们检查从这里加载禁用caching的游戏,每次我们试图从任何一台计算机,大约需要10秒。 我们从原始虚拟机镜像(相同的configuration和内容)中添加了2个虚拟机,并且做了最快速的负载平衡 – DNS轮询到总共三个IP。 投诉缩减,但俄罗斯用户的加载时间保持在1分钟以上。 当我们再次尝试多次从这里下载游戏时,仍然是10秒,对我们来说没有什么不同。 静态内容服务器具有相同的国内和国际对等的可能原因是什么?当负载较低时,所有的俄罗斯用户都可以下载10秒,但不能在高峰时间下载? 所有的用户不应该一样吗? PS在任何时候,静态服务器都有足够的内存,并且产生的httpd进程永远不会超过50,设置限制为100 编辑:简短的问题总结 – 在低负载,所有客户端(本地和远程)下载客户端的时间相等(例如15秒)。 当负载较高时,本地客户端再次加载15秒,而远端则加载2-3分钟。 有什么可能的原因?

仅在颁发给根域证书时避免SSL警告

我遇到以下问题,尝试设置SSL证书。 当打开根域名example.com浏览器显示绿色标志,一切正常。 然而试图打开www版本www.example.com我看到以下消息 www.example.com使用无效的安全证书。 该证书仅对example.com有效 (错误代码:ssl_error_bad_cert_domain) 从这个消息中,我猜测SSL只是针对example.com发布的(请纠正我是否错误),现在除了购买另一个证书(包括两个版本)之外,还有另外一种避免这种警告的方法,甚至在向浏览器显示证书之前将所有stream量redirect到example.com ? 所以,当用户键入https://www.example.com ,它将redirect到https://example.com ,证书已经有效。 我有这个在我的网站文件 <VirtualHost *:80> ServerName example.com ServerAlias www.example.com Redirect / https://example.com/ </VirtualHost> <VirtualHost *:443> ServerName example.com ServerAlias www.example.com DocumentRoot /home/username/www/example SSLEngine on SSLCertificateFile /etc/apache2/ssl/example.com.crt SSLCertificateKeyFile /etc/apache2/ssl/example.com.private.key SSLCertificateChainFile /etc/apache2/ssl/example.com.intermediate.crt </VirtualHost> 我试图把redirect的条件,但没有帮助。 RewriteCond %{HTTP_HOST} ^www.example.com RewriteRule ^/(.*)$ https://example.com/$1 [L,R=301] Apache 2.2.22,Debian 7.9 谢谢

检查文件是否存在于子目录中,否则将所有内容redirect到主控制器

我想在Apache下的.htaccess文件中使用mod_rewrite进行如下操作: 如果接收到任何文件或path的请求,例如foo.txt或foo/bar ,请检查public子目录中是否存在此文件,例如public/foo.txt或public/foo/bar 。 它如果只是显示该文件。 除此以外 redirect到主控制器index.php 我试图解决的是这样的: <IfModule mod_rewrite.c> RewriteEngine On # Don't rewrite requests for files in the 'public' directory RewriteRule ^(public)($|/) – [L] # For all other files first check if they exist in 'public' RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f RewriteRule ^ public%{REQUEST_URI} [L] # Let 'index.php' handle everything else RewriteRule . index.php [L] […]

我的.htaccess文件是什么意思?

我的.htaccess说: # -FrontPage- IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* <Limit GET POST> order deny,allow deny from all allow from all </Limit> <Limit PUT DELETE> order deny,allow deny from all </Limit> AuthName eigos.co.nz AuthUserFile /home/bob/public_html/_vti_pvt/service.pwd AuthGroupFile /home/bob/public_html/_vti_pvt/service.grp 有人能告诉我这是什么吗?

你如何设置一个目录的默认文件?

我可以在我的web服务器上configuration一个特定的目录来使用一个非典型的默认文件,比如“default.php”而不是“index.php”吗? 我必须在该目录中创build一个“.htaccess”文件吗?

Apache正常运行时间问题

我已经做了一段时间的Web开发,但服务器pipe理员从来没有成为我的工作的一部分。 我发现我越来越需要了解发生了什么。 查看服务器日志和东西,我看到一些有趣的事情,并学习了很多东西,但我不知道“正常”的服务器是什么样的,所以我很难判断我们的机器是如何比较的。 我们使用JRun(4.0)在Red Hat上运行Apache(2.0.54)。 我们的大部分内容是ColdFusion,只有一点点PHP。Google分析说,我们每个月有大约1,500,000的页面浏览量,Apache通常每秒报告5-7个请求。 如果我在服务器上top ,说它已经运行了700多天了。 但是我们的Apache实例经常崩溃。 3天的正常运行时间对于我们的服务器来说是很长的时间。 在Apache需要重新启动之前,我会说48小时是正常的。 我渴望听到其他人从他们的经历中发现,如果这是好的或坏的。 我怀疑是坏的,但我没有任何东西可以比较。 如果这是不好的,任何人都可以指向我的一些在线资源的方向,我可以开始学习如何解决这个问题?

Ubuntunetworking服务器 – 在512Mb内存上的性能?

我正在考虑部署一个我开发的新的商业networking服务,但是我还不确定市场的潜力,所以我不想马上购买一个重量级的服务器。 一个我曾经处理过的ISP,我很满意,为经济型服务器提供了一个好的价格(大约65美元) Ubuntu 8.1 1.8GHz 2Mb Core 2 Duo 512Mb的RAM 80Gb高清 如果我在这台服务器上运行的只有Apache,PHP和MySQL,并且只有一个域的数据库devise良好,那么这个级别的硬件就足以给我提供合理的空间了吗? 补充:带宽是'无限的',我有一些其他的专用服务器,我没有在这个公式下的问题,所以我不认为这是一个问题。 我也可以在ISP上使用共享备份空间,因此目前也处于合理的水平。

Windows HOSTS文件和一个特定的服务器文件夹

我一直玩的Windows HOSTS文件似乎是位于C:\ Windows \(Windows 95,98是我),并在C \ Windows \ system32 \驱动程序\ etc \中(Windows NT中,2000年,XP中和Vista) 我想指出 http:// mydomain /到我的Web服务器的特定文件夹。 我主机文件目前看起来像: 127.0.0.1 domainA 127.0.0.1 domainB 但是我想要的是 http://domainA/ points to http://127.0.0.1/domainA/ http://domainB/ points to http://127.0.0.1/domainB/ 我怎样才能做到这一点? testing 要使用rewriteModule,请取消注释httpd.conf文件中的下一行: LoadModule rewrite_module modules/mod_rewrite.so 下一个代码不是我正在寻找的。 RewriteEngine on RewriteCond %{HTTP_HOST} ^domainA [NC] RewriteRule ^/(.*) http://127.0.0.1/domainA/$1 [L,R] 有了上面的代码,当你键入浏览器http:// domainA /它会自动将其更改为http://127.0.0.1/domainA/,但我想要它留在http:// domainA /服务的内容http://127.0.0.1/domainA/文件夹。 例如。 http://127.0.0.1/指向/ […]