Articles of apache 2.2

HTTPS和着陆页问题?

我们将为Rails应用程序设置HTTPS,但是我想知道如果在HTTPS上,login页面是否会有任何问题? 理想情况下,我们希望在HTTP上具有login页面,但是一旦客户端login到应用程序,它应该指向HTTPS。 任何人都可以解释或链接如何设置(我已经购买了SSL)?

服务器负载从2增加到250

我使用的是Wordpress 2.9。 Web服务器HostGator的8GB。 长期以来我一直在和这个问题斗争,但还是找不到解决办法。 Php切换为apache模块运行,在DSO中安装Php 5,Apache suEXEC,eaccelerator安装,但是这个configuration开始在服务器上加载巨大的服务器。 服务器负载从1增加到250(4 cpu),服务器停止,一段时间后又恢复,并在大约10分钟内停止。 当hostgator支持团队在服务器上安装eaccelerator时,它开始发生。 什么可以使这个问题,我怎样才能解决它?

如何区分来自普通请求的“预获取”页面请求?

“Pre-Fetching”可能不是最广泛使用的术语,但无论如何,我指的是在用户发出实际请求之前请求页面的浏览器插件。 (例如,当一个新的页面加载并开始阅读时,浏览器将预先获取该页面上的所有链接(因为它不知道您将决定点击哪个链接)。 Firefox插件Fasterfox和Google的networking加速器(不再可以下载,看来)是我所知道的两个这样的插件。 这些请求是否可以在Apache事件日志中与普通的页面请求区分开来?

如何持续获得Perl版本的Apache版本,以便与configuration需求列表进行比较

我如何提取Apache版本号? 然后,我想使用这个数字来比较它作为自动化安装程序的一部分的最小Apache版本的configuration需求文件中的值。 我使用$ ENV {'SERVER_SOFTWARE'}给我:Apache / 2.2.3(Debian)DAV / 2 SVN / 1.4.2 mod_python / 3.2.10 Python / 2.4.4 PHP / 5.2.0-8 + etch16 mod_perl / 2.0.2 Perl / v5.8.8) 这是这样的格式:Apache / 2.2.3在所有版本中是一致的,还是不同的,例如Apache 1.3和Apache的未来版本?

使用自定义域名代替etsy

我正在考虑在etsy上创build一个在线商店,我的要求是,我希望用户看到我的域名( www.myname.com ),而不是myname.etsy.com 。 鉴于我没有访问etsy服务器,有什么事情我可以做我的域名redirect(假设我使用的是Apache),所以任何请求www.myname.com将被转换为etsy方? 这是为了让任何来到我的网站的人都不会在url中看到单词etsy。 另一个特别的事情是,我希望我的自定义域名在redirect完成时显示在Web浏览器地址栏中。 有没有办法做到这一点与Apache?

apache LoadBalancerconfiguration文件

我想为LoadBalancer成员指定lbfactor并保存它。 如何才能做到这一点? 目前在httpd.conf : <Proxy balancer://xxxx> BalancerMember ajp://localhost:8009/xxxx BalancerMember ajp://yyyyy:8009/xxxx </Proxy>

URL重写和CSS等的相对地址

我在位于某个子域根目录的.htaccess文件中有以下代码,例如http://demo.example.com : RewriteEngine on RewriteRule ^$ /admin/index.php?q=user/nazgulled [L] 当有人访问http://demo.example.com时 ,他们将被redirect到上面的URL。 这是一个HTML页面。 但是这个HTML页面正在使用像图像,CSS代码和JavaScript代码的相对地址。 他们不工作,因为它无法find当前目录(子域根)中的文件。 他们位于“pipe理员”文件夹。 我怎样才能使这项工作只改变.htaccess文件?

301通过htaccess将第二个域redirect到第一个域,mod_rewrite同时保留子域 – 任何提示?

今天我一直在围绕着pipe,但鉴于我有限的mod_rewrite和正则expression知识,我正在努力。 我想要实现的是将domain1(包括子域)重写为domain2(包括子域),并将其实现为301.域2是主域,域1只是(暂时)设置并且真的就在那里,因为“是的”(一个更好的使用正在等待,我想用它来学习一些东西)。 域2configuration为通配符,并托pipe通过子域 – >子文件夹内部重写显示的微型站点。 (会很高兴地在这个请求后发布代码,这不是棘手的,但它确实需要我一段时间,没有无限重写,出于某种奇怪的原因)。 域1(临时域)根本没有设置,但仅仅是因为我面对几个选项(一个DirectAdmin实现的“别名”或“指针”,或添加为一个单独的域,configuration为通配符)。 如果有人进入域1(转发域),这应该发生: http://sub.domain1.tld -> http://sub.domain2.tld http://sub.domain1.tld/content.php -> http://sub.domain2.tld/content.php http://domain1.tld -> http://domain2.tld http://domain2.tld 什么让我烦恼的是,networking上的所有解决scheme或者将子域映射到目录,只是通过http://domain1.tld/编码来处理请求。 我自己的老办法之一,把.co.ukredirect到.com,有我想去的开始: RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.foo\.com [NC] RewriteRule ^(.*)$ http://foo.co.uk/$1 [R=301,L] 我知道$1表示所有域都是由^(.*)$模式匹配的,而%2是子域(所以我假设%1将会是“www。”,如果它存在于http_referer中,或者否则为空?) …但是,这是我卡住的地方。 重写最新的方式是将任何variables传递给一个新的域名,而不是丢失任何子域名?

apache2 + mod_fastcgi + suexec + php5.2 =高负载时不稳定

我使用apache2 + fastcgi + suexec + php5在一台服务器上托pipe几个(〜30个)不同的站点。 站点有不同的负载和不同的脚本执行时间(其中一些处理请求5-7秒,一些<1sek)。 有时当单个站点收到很高的负载(本站点的所有php实例都被创build和使用)时,整个apache服务器都会挂起。 Apache(worker mpm)创build了新的进程,达到了上限。 它看起来像开始排队所有新的请求,每个站点,不仅是一个具有高负载,并迅速实现进程限制…重新启动Apache解决问题… config:FastCgiConfig -singleThreshold 1 -multiThreshold 10 -listen-queue-depth 30 -maxProcesses 80 -maxClassProcesses 12 -idle-timeout 30 -pass-header HTTP_AUTHORIZATION -pass-header If-Modified-Since -pass-header If-None-Match (之前有默认-listen-queue-depth = 100,但是没有改变任何东西…) 有什么build议么? 另一个问题 – 如何实施这个监听队列? 是整个Apache的一个队列,或每个定义的PHP应用(suexec站点)的唯一队列? 我想实现这样的事情:当一个网站收到高负荷,队列满 – 服务器反弹下一个请求,但只为这一个网站..其他网站应该正常工作…

Apache mod_rewrite规则顺序混乱

我正在尝试设置一些简单的规则,根据path和查询string的位来重写旧版网站的URL。 首先,看起来像这样: RewriteEngine on RewriteMap freeitems txt:/www/www.example.com/etc/freeitems_map.txt RewriteMap items txt:/www/www.example.com/etc/items_map.txt RewriteCond %{QUERY_STRING} ^sku=(\d+)$ RewriteRule ^/free_item.php$ https://www.example.com/shop/detail/${freeitems:%1}? RewriteRule ^/item.php$ https://www.example.com/shop/detail/${items:%1}? 对于/free_item.phpurl来说,这似乎很好,正确地从RewriteMap取代了结果,但是/item.php只返回了redirect的URL的第一部分,而没有从RewriteMap查找中得到结果。 如果我颠倒了规则的顺序,失败/正在运行的URL就会颠倒过来。 正如我一直理解RewriteRule语法,如果URLpath不匹配模式,规则将被跳过,处理移动到下一个。 在这种情况下, 我最终设法通过将其分解成两个块来实现它的工作: RewriteEngine on RewriteMap freeitems txt:/www/www.example.com/etc/freeitems_map.txt RewriteMap items txt:/www/www.example.com/etc/items_map.txt RewriteCond %{QUERY_STRING} ^sku=(\d+)$ RewriteRule ^/free_item.php$ https://www.example.com/shop/detail/${freeitems:%1}? RewriteCond %{QUERY_STRING} ^sku=(\d+)$ RewriteRule ^/item.php$ https://www.example.com/shop/detail/${items:%1}? 任何人都可以启发我为什么第一种技术失败? 编辑:作为一个testing,我添加了第二个RewriteRuleredirect的URL的附加path元素。 当我请求一个应该匹配第二个规则而不是第一个的URL时,该path元素将按预期显示。 只是不是RewriteMap查找的结果。 谢谢! -ben