Articles of varnish

Nginxcaching交替其中两个请求可以同时填充大型caching文件?

我正在使用Nginx作为大型文件的caching逆向代理。 原始服务器不必输出比必要的带宽更重要的是对我来说。 所以如果文件的下载开始有两个连接,我不想让nginx下载整个文件两次。 所以我启用了proxy_cache_lock 。 但是第二个请求必须等到第一个请求完成才能下载文件。 这可能需要很长时间,我希望第二个请求立即开始下载。 所以我需要的是一个系统,其中两个请求(这将是HTTP范围请求)可以填充同一个caching文件,并且每个请求只从源服务器下载它的范围。 这只对大文件有意义,这就是大多数系统(varnish,nginx)似乎打算使用的。 一般来说,Nginx可以很好地处理大文件,但是在这种情况下并不适用。 有一个caching系统可以满足我的需求,还是我必须写我自己的? 我认为一些CDN可能有类似的要求。

WordPress,Varnish,Nginx + php5-fpm – php5-fpm发射每一个命中。

我在一个512Mb digitalocean VPS上主办一个WordPress站点。 一切都很好,清漆是一个完美的命中率。 login用户绕过。 我唯一注意到的是php5-fpm每次访问都会触发。 我怎样才能跟踪什么是pipe理绕过caching,并传递到后端。 系统负载非常好,清漆是这样一个小的VPS惊人的,但我的目标是找出为什么php5-fpm发射时,我不认为这是必要的。 谢谢

nginx作为反向ssl代理(Apache + Varnish)跳过自己的configuration

我有一个新的Ubuntu 14.04安装与采取以下步骤: Apache2 2.4.7 MariaDB上一个稳定的版本 PHP 7.0.9(和几个模块) Apacheconfiguration为使用PHP7-FPM * 使用Apache2的mod_rpaf ** PHPMyAdmin 4.6.3与PHP7.0.9正常工作。 WordPress 4.6 *** 清漆4.0 Nginx 1.10.1在/etc/nginx/ssl中带有ssl证书 和** – >问题发生在这些configuration之前和之后*** – > wp-config.php有强制ssllogin和ssl admin的代码。 两个工作都很好,只有Apache / Varnish。 为Apache创build了一个SSL证书,如果Apache设置为侦听端口443,则一切正常。 这是我的/etc/apache2/ports.conf: #NameVirtualHost 192.168.1.86 ServerName 192.168.1.86 Listen 8080 #<IfModule ssl_module> # Listen 443 #</IfModule> #<IfModule mod_gnutls.c> # Listen 443 #</IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 […]

当使用Varnishcaching和代理传递时,保持客户端请求的主机名传递到远程后端

我在configurationVarnish时遇到了一些麻烦,在线文档不是很清楚(至less对我来说)。 我目前有一个Ubuntu服务器上的清漆caching设置。 我在同一台服务器上testing了本地Nginx的清漆,并且工作正常。 我想要做的就是使用Varnish作为configuration了Nginx的远程Web服务器的caching和反向代理。 我需要保留客户端请求的主机名,并将其传递给远程的Nginx Web服务器。 这可以在Nginx使用proxy_set_header主机和Apache通过使用ProxyPreserveHost在。 问题是我在我的远程Nginx上有许多不同的虚拟主机,服务器的DNS没有configuration其中的任何一个。 他们都是不同的,所以我需要确保从客户端请求的主机通过。 我很抱歉,如果这不清楚,但我是光油的全新,这是什么,就像我习惯与Apache或Nginx。 任何帮助将不胜感激。 这是我的default.vcl: vcl 4.0; # Default backend definition. Set this to point to your content server. backend default { .host = "dns.of.remote.nginx.server"; .port = "80"; .probe = { .url = "/"; .timeout = 30s; .threshold = 8; } } sub vcl_recv { # Happens before […]

使用反向代理时获得实时stream量/访客分析

我正在实施Varnish作为Ruby on Rails应用程序的反向代理,我正在使用Google Analytics(JS /客户端脚本来logging访问者数据),但延迟了几个小时,因此无法知道现在发生了什么。 我需要一目了然的实时数据,包括引用stream量和当前需求/秒。 现在,我正在使用一个简单的Rack中间件应用程序来执行实时统计(gist.github.com/235745),但是如果大部分stream量都打上光油,Rack将永远不会被击中,所以这将不起作用。 到目前为止,我find的最接近的解决scheme是http://www.reinvigorate.net/,但是它的testing版(头版上也没有实现细节)。 清漆是否有stream量日志,我可以自定义格式来匹配我的Apache日志,所以我可以将它们结合起来,还是我将不得不推出像GA一样的实时显示数据的JS实现?

修复错误403与清漆caching

我已经在Apache前面运行清漆(3.0.1),并且在两天前stream量激增的时候,网站的所有访问者都开始收到403错误。 从谷歌search我发现一个线程,说这是由光油的IP传递给Apache而不是用户的请求。 (见https://www.varnish-cache.org/lists/pipermail/varnish-misc/2011-March/005730.html ) build议是“你可以尝试通过IP为X转发 – ”我不知道是什么知识产权被称为(客户端?)或实际上我会怎么做。 有没有人看过这个或知道如何实现build议?

清漆503大师与pfsense和健康阿帕奇调解错误

我们运行一个pfsense防火墙/负载均衡器作为服务清漆,在运行Apache的Fedora linux webservers之前。 我们得到间歇503宗师调解错误。 我们有点卡住了,因为它不容易重复。 超时设置为30秒(连接和第一个字节),但503页将立即显示,而不是30秒后。 那么,如果你马上刷新,它可能会立即工作,有时会刷新100次。 Web服务器上的平均负载<1,数据库服务器<3(所有服务器(web,db,pfsense / varnish)都是物理的,而不是虚拟机。 我会想如果超时被打到那么503页只会出现在30多年后,我误会了? 当发生错误时,在apache的日志文件中也没有出现相应的错误。 这似乎影响页面以及图像,所以有可能使页面加载罚款,并为9/10的图像在网页上罚款,但1不工作 下面是一个清漆debugging的例子。 它说没有后端连接,但我无法弄清楚为什么,如果负载高的Apache我可以理解它是片状 机器在同一个以太网局域网上 21 ReqStart c *IP-REMOVED* 33418 1274368062 21 RxRequest c GET 21 RxURL c /fashion/ 21 RxProtocol c HTTP/1.1 21 RxHeader c User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.5) Gecko/2008121622 Fedora/3.0.5-1.fc10 Firefox/3.0.5 21 RxHeader c Host: *ourdomain.com* 21 RxHeader […]

varnish3,使用mod_rewrite和mod_rpaf与apache2 mod_geoip

我正在维护一个拥有3个不同版本的站点的网站,有3种不同的语言,用一个用php编写的单一系统来处理,它根据正在被访问的域名接受环境variables。 这三个网站是: myshop.com:英文国际版 myshop.eu:欧洲版本的网站 myshop.ru:该网站的俄语版本 当myshop.com从俄罗斯访问它将被redirect到myshop.ru,并从欧洲的任何国家访问myshop.com,被redirect到myshop.eu,国际访客停留在myshop.com,虽然他们可以去国家特定的网站。 所有这些国家的redirect都是使用GeoIP apache2 mod来完成的,为了确定国家代码,在RewriteCondition中使用这个代码来表示一个RewriteRule,还有一些不重写的IP地址的例外,基本上是IP地址开发人员的电脑。 这个网站一直做得很好,直到我们决定build立清漆网站,这确实给了它一个很大的推动,但是国家特定的重写已经成为越野车。 开始发生的事情是,一个俄罗斯的访问者可以去myshop.com,不会被redirect,直到他点击一个随机链接(也许一个链接没有被caching清漆),用户被redirect到他们的国家。 对于这个我设置mod_rpaf和重写规则的例外(开发人员的ip),我用这个RewriteCond %{HTTP:X-FORWARDED-FOR} !^43\.43\.43\.43 ,我重新启动清漆和apache2,它工作了一段时间,然后又搞砸了。 整天我都在做改变,但是我不知道发生了什么事情,有时是有效的,有时候是不行的,有时甚至有一半是有效的。 至于geoip,我用一个php来检查$_SERVERvariables,这里是输出的一般想法 [HTTP_X_FORWARDED_FOR] => 43.43.43.44 [HTTP_X_VARNISH] => 1705675599 [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 43.43.43.44 [GEOIP_ADDR] => 43.43.43.44 [GEOIP_CONTINENT_CODE] => EU [GEOIP_COUNTRY_CODE] => FR [GEOIP_COUNTRY_NAME] => France 现在,由于“随机”redirect,我几乎不知道发生了什么,所以你们可以给我一些关于使用什么工具来debugging的想法吗? 我试图看到redirect日志,但他们真的不显示太多,varnishlog也没有什么帮助 – 虽然我必须承认,我不是专业的清漆。 我相信问题是清漆尝试caching的url,因此Apache的redirect没有做好,但访问该网站首先有一个redirect,并基于其他用户服务的内容,取决于从哪里用户当caching最后更新时,它是正确的吗? 如果是这样,我该如何解决这个问题? 另外,我可以select在varnish3上使用geoipredirect,而不是使用apache2来执行redirect,那么最佳实践是什么? 任何build议debugging或修复这将是有帮助的! 日Thnx!

configurationvarnish和django(apache / modwsgi)

我正在努力解决为什么我的应用程序不断打到数据库,而我已经build立了Apache的清漆面前。 我想我缺less一些重要的configuration,欢迎提供任何提示 这是我的卷发结果: HTTP/1.1 200 OK Server: Apache/2.2.16 (Debian) Content-Language: en-us Vary: Accept,Accept-Encoding,Accept-Language,Cookie Cache-Control: s-maxage=60, no-transform, max-age=60 Content-Type: application/json; charset=utf-8 Date: Sat, 15 Sep 2012 08:19:17 GMT Connection: keep-alive 我的清漆: 13 BackendClose – apache 13 BackendOpen b apache 127.0.0.1 47665 127.0.0.1 8000 13 TxRequest b GET 13 TxURL b /api/v1/events/?format=json 13 TxProtocol b HTTP/1.1 13 […]

如何使EC2实例报告自定义主机名

我购买了一个amazon ec2实例,在那里我configuration了一个web服务器。 然后我购买了Route53来处理DNS,在那里我把自定义域设置为指向弹性IP。 事实是,当input我的域名时,服务器networking使用AmazonAws.com域的答案! 我在apache2前面运行清漆。 我该如何解决这个问题?