Articles of 清漆

用户会话中的清漆文件下载失败

我有2个清漆3.0.4服务器在Apache集群边缘(回退导演)。 在我的其中一个网站上,用户login后可下载静态内容,如pdf,图像(jpg,jpeg,png,gif),xls / xlsx等。除exel文件之外的所有文件均被caching。 当下载一个Excel文件时,一切都按预期工作。 当试图下载一个caching的对象的行为是不同的。 即使站点正确显示(出现所有图像),用户也将断开连接,无法读取文件(404从varnishlog)。 login时没有问题浏览网站。 使用主机文件直接指向Apache和文件下载完美。 作为一个临时的解决scheme,告诉清漆不要caching这个网站,并禁止它的所有内容。 谢谢。 编辑:完整的VCL和varnishlog。 谢谢你的帮助。 可悲的是,它仍然无法正常工作。 这是我的完整的vlc backend srv1 { .host = "srv1"; .port = "80"; .first_byte_timeout = 120s; .probe = { .url = "/"; .interval = 5s; .timeout = 1s; .window = 5; .threshold = 3; } } backend srv2 { .host = "srv2"; .port = […]

几个小时后,清漆停在80号港口

我已经configuration清漆听80端口和Nginx听8080.大约24小时的正常运行时间后,我的网站已经下降了22个小时。 我检查了一下,发现清漆不在80端口上。 当网站启动时: abc@abc:~$ sudo netstat -anp –tcp –udp | grep LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 571/varnishd tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 376/nginx tcp 0 0 0.0.0.0:9171 0.0.0.0:* LISTEN 376/nginx tcp 0 0 publicip:6082 0.0.0.0:* LISTEN 569/varnishd tcp6 0 0 :::80 :::* LISTEN 376/nginx tcp6 0 0 ::1:6082 :::* LISTEN 569/varnishd 当网站停工时: […]

使用Varnish + Apache将login用户redirect到https,匿名到http

我在Drupal前面的Apache前面有一个清漆服务器。 我想要做的是将我的login表单redirect到https(很简单),然后将所有已login(已authentication)的用户始终redirect到https,同时将匿名访问者始终redirect到http(出于性能原因) 。 我不希望经过身份validation的用户在点击http://mysite.com/some/page- >的绝对链接时拥有混合模式的体验,因此,如果协议不是通过https身份validation,那么总是会将已通过身份validation的用户redirect到https HTTPS。 是否有可能使用某种组合的Varnish + Apacheconfiguration来做这样的事情? 或者是唯一的解决scheme,所有的访问者(这是所有这些匿名访问者不必要的性能打击)。 对于参考点,我使用了基于这个由四个厨房提供的缺省Drupal敏感示例的Varnish vcl: https ://fourkitchens.atlassian.net/wiki/display/TECH/Configure+Varnish+3+for+Drupal +7

Varnish + Nginx +多个IP地址

这是我的第一个使Varnish在我的专用服务器上工作,该服务器托pipe2个具有2个独立IP地址的域。 我简化的设置如下: Nginx conf server { listen ip-address-1:8080; } server { listen ip-address-2:8080; } 清漆vcl backend default { .host = "127.0.0.1"; .port = "80"; } 在我定义的清漆conf VARNISH_LISTEN_PORT=80 Varnish和Nginx(和php-fpm)运行正常,但是当我尝试去我的网站时,显示nginx页面的欢迎。 标题中没有x-varnish。 看起来由于某种原因,清漆不听80端口。我怀疑这与127.0.0.1主机正在监听的vcl文件有关。 我正在运行两个WordPress的网站。 我应该在哪里寻找让Varnish正常工作? 干杯,阿德南 编辑: Nginx似乎在8080正确,但Varnish不听正确的IP地址。 使用Jens多个清漆IP地址netstat -lnp产生: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 46.105.40.241:8080 0.0.0.0:* LISTEN 21610/nginx tcp […]

nginx + varnish,为ssl优化cachingurl

我有一个工作清漆caching为我的网站,与不希望的副作用,请求与http域名caching与一个特定的url,并要求与另一个urlhttps。 这样我最终在caching中的双重对象,我想问一些如何优化这种行为的最佳做法。 详细我有nginx内的两个虚拟主机相同的域侦听端口80和443每个。 请求被代理传递给清漆: proxy_pass http://varnish:8101/VirtualHostBase/http/example.com:80/path/VirtualHostRoot/; 和 proxy_pass http://varnish:8101/VirtualHostBase/https/example.com:443/path/VirtualHostRoot/; 在varnish.vcl我检查请求的主机,并设置右后端,因为有多个。 if (req.http.host == "example.com") { set req.backend = backend_0; } 后端是一个Zope / Plone服务器。 页面caching正确varnish,但我有/VirtualHostBase/http/example.com:80/path/VirtualHostRoot/logo.png和/VirtualHostBase/https/example.com:443/path/VirtualHostRoot/一个条目在我的varnishlog(RxURL)中的logo.png。 Plone清除条目时,只清除ssl版本,因为每个login用户都必须使用https。 http条目保持到年龄无效。 是否有可能通过重写URL来将http和https请求合并成一个清漆对象? 为了节省空间和做一个成功的清除。 也许有人可以给我一个提示如何解决这个问题!

NGINX HTTPS反向代理 – 快速TTFB但并发性低

我有一个运行的应用程序:NGINX(SSL)=> VARNISH(CACHE)=> APACHE / PHP。 运行ab基准testing ,我能够通过EC2 t2.small实例在清漆层(通过HTTP)实现30k +请求/秒。 然而,当我通过NGINX(HTTPS)运行testing时,我只能够推送160个请求/秒(来自公共networking的TTFB的平均值为43ms)。 @ nginx.conf user nginx; worker_processes auto; worker_rlimit_nofile 65535; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 16024; multi_accept on; } 并在http级别: sendfile on; tcp_nopush on; keepalive_timeout 10; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; @ domain.conf server { listen 443 ssl; server_name xyz.com; ssl_certificate /home/st/ssl3/xyz.crt; ssl_certificate_key /home/xyz/ssl3/xyz.key; ssl_protocols TLSv1 […]

通过HTTP透明地caching大文件

我有一个相当特殊的服务器,可以用来处理:我有存储在HTTP可访问的服务器(Windows Azure存储 – 大约800GB内容)的文件,但必须将它们提供给来自不同服务器的人(使用小磁盘 – 40GB) 。 不想增加带宽成本,我想有一些sortingcaching。 鱿鱼可以作为一个转发代理使用,还是可以阻止下载一个完整的(如1GB的文件),然后将其提供给客户端系统? 另外,是否清漆更可行?

在Ubuntu(15.10)上运行LEMP,尝试添加清漆,遇到问题

我似乎有varnish问题。 这不是什么大问题,但我正在努力寻找可能会出错的地方。 基本上, varnish被设置为在6081端口上运行; 然而。 我已经尝试编辑/etc/default/varnishconfiguration,并将daemon_opts更改为80 ,甚至评论 – 文件中的所有内容,但清漆似乎仍然在6081运行。 所以要么不使用/etc/default/varnishconfiguration,要么在其他地方获取它的设置,要么/etc/default/varnish没有任何区别。 我的问题是没有人知道它可能使用什么configuration文件来获得它的设置,或者我怎么能强制它使用configuration? 谢谢。

如何用varnish和nginxconfiguration多个域

我读这篇文章,但我不能让我的情况下工作https://stackoverflow.com/questions/3334023/configure-multiple-sites-with-varnish 这是我的问题 我有2个域名:mysite1.com和mysite2.com 这是我在default.vcl中的configuration backend default { .host = "127.0.0.1"; .port = "8080"; } backend mysite2 { .host = "127.0.0.1"; .port = "8080"; } sub vcl_recv { if (req.http.host == "mysite1.com" || req.http.host == "www.mysite1.com") { set req.backend = default; } elsif (req.http.host == "mysite2.com" || req.http.host == "www.mysite2.com") { set req.backend = mysite2; } […]

我可以使用哪种软件来设置caching时发送文件的反向代理?

我需要build立一个HTTP反向代理,能够caching请求到上游服务器。 上游服务器只提供静态文件。 我面临的问题是,我需要一个能够尽快开始第一个字节的代理(它不能等待整个请求缓冲),而仍然caching。 这是因为我的文件可能相当大(几百兆字节),但应用程序的要求是有快速的响应时间。 我试图使用nginx,但是当我禁用proxy_buffering它停止caching。 有没有广泛可用,经过充分testing的开源项目可以做到这一点? 漆? 乌贼? HAProxy的?