我使用nginx作为proxy_cache的反向代理。 后端是设置cache-control响应头,这使得nginx在可能的时候提供来自caching的响应。 不过,我希望允许客户端通过设置请求标头Cache-Control:max-age=0来绕过caching。 这样用户可以通过在浏览器中点击CTRL+R来获得新的副本。 默认情况下,nginx似乎忽略Cache-Control请求头。 如何configurationnginx从后端获取全新副本,并在客户端使用Cache-Control:max-age=0请求资源时更新caching?
这是关于应用程序请求路由和dynamic禁用磁盘caching某些请求(其中请求来自已authentication的用户;他们是否通过身份validation可以由自定义代码决定)。 在我的设置中,有一台运行ARR的服务器,将请求分派到另一台服务器上的ASP.NET MVC站点。 该站点使用表单身份validation(有时是HTTP基本身份validation),因此身份validation发生在MVC站点上,而不是ARR中:基本上,当用户validation站点时,会创build一个表单身份validationcookie。 我想在ARR中发生以下情况: 为匿名用户输出caching。 对于经过身份validation的用户,只会caching静态文件(例如.css,.js,.jpg文件),而不会cachingdynamic页面。 如何为这个场景设置cachingconfiguration规则? 我已经尝试了多种方式: 高速caching头:由MVC应用程序发送的高速caching控制头在这里是不可用的,因为想象一下:页1在ARR的高速caching中。 用户authentication和访问页面1. MVC应用程序将发送一个无caching头,但请求没有达到它,所以用户获得caching版本。 没有caching的url:我虽然可能定义的url与“no-arr-cache”不应该被caching将工作与URL重写,即与自定义url重写提供程序我会重写已validation的请求…?无ARRcaching。 除了ARRcaching控制规则不关心查询string之外,问题是ARR只在计算cachingconfiguration规则时考虑请求的URL,而不是重写的URL。 先谢谢你! 我从IIS论坛交叉发布这个消息,因为没有人回答。
我有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 = […]
我有以下nginxconfiguration user nginx; worker_processes 10; pid /var/run/nginx.pid; events { worker_connections 1000; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## log_format log_cache [$time_local] $remote_addr " – " '"$request"' " – " $upstream_cache_status " " $request_time " – " $status " " $body_bytes_sent […]
我想在我的nginx 1.5.8安装程序上尝试fastcgi_cache ,如下所示。 在nginx conf中,http部分,我补充道: fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=microcache:10m max_size=1000m inactive=60m; 在服务器部分: set $cache_uri $request_uri; # POST requests and urls with a query string should always go to PHP if ($request_method = POST) { set $cache_uri 'null cache'; } if ($query_string != "") { set $cache_uri 'null cache'; } # Don't cache uris containing the […]
我想用cachingconfigurationApache转发代理。 我有一些客户必须不时地从互联网上下载一些大文件,我希望通过这个apache代理来完成,以便将这些大文件caching在磁盘上并从caching中返回。 我设法configuration代理,但caching不起作用。 我有caching , mem_cache , file_cache模块启用。 我有我的caching代理虚拟主机的以下configuration: <VirtualHost *:80> ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Deny from all Allow from all </Proxy> CacheEnable disk / CacheMaxFileSize 10000000000 CacheMinFileSize 1000000 CacheRoot "/var/cache/apache2/mod_disk_cache/" CacheMaxExpire 24 CacheLastModifiedFactor 0.1 CacheIgnoreQueryString On EnableSendfile On CacheDefaultExpire 7200 CacheIgnoreNoLastMod On CacheStorePrivate On CacheStoreNoStore On ServerName my-proxy ErrorLog "/var/log/apache2/proxy-error.log" […]
我已经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 当网站停工时: […]
我们正在考虑在我们的应用程序( Symfony2 )中使用caching(基于memcache或redis的)的最佳策略。 它将被部署在多个(至今为止3个)具有负载平衡的单独机器上,并且被分开复制数据库+一个公共共享存储器。 还有第四个服务器,主要用于crons和发送群发邮件。 请注意,高速caching将不仅经常使用,而且由于频繁的数据更改而被更新。 到目前为止,我们有三次尝试: 我们在第四台机器上放置单个caching并在整个域中共享。 坏的一面是,当这台机器出现故障时,一切都会失败。 我们在多台机器上放置不同的caching,每台caching都有自己的caching。 缺点是我们必须保留更多的计算能力来完成冗余任务。 一台机器重buildcaching,然后将其传播到不同的机器(与第一种情况相同)。 什么是处理这个最好的select?
这里有一个例子,说明如何使用SOAP API来清除Stingray中的内容caching https://splash.riverbed.com/docs/DOC-1238 不过,我知道Stingray的确将很多东西写到了平面文件中,所以我很好奇,是否有可能通过清除某个目录的内容来强制清除caching。 谢谢,保罗
我已经configurationNginx使用srcache(以及redis和redis2模块)。 服务器端caching很好。 我的应用程序响应相应的Expires和Cache-Control标题,srcache将相应地存储和从Rediscaching中获取。 我希望我的回应可以被我的服务器之外的浏览器和代理caching。 Expires和Cache-Control标题被发送。 但是, Cache-Control max-age不会自动更新。 我认为这是因为这个头实际上存储在caching中。 注意这些响应的date,并且Cache-Control头中的max-age仍然是2592000 …初始值。 HTTP/1.1 200 OK Server: nginx/1.2.9 Date: Tue, 01 Jul 2014 15:18:19 GMT Content-Type: application/javascript Content-Length: 2710 Connection: keep-alive Vary: Accept-Encoding Expires: Thu, 31 Jul 2014 15:13:00 GMT Cache-Control: public, max-age=2592000, must-revalidate, proxy-revalidate X-SRCache-Key: fde32bfe93fcf90c398e9ed585991146 X-SRCache-Fetch-Status: HIT X-SRCache-Store-Status: BYPASS HTTP/1.1 200 OK Server: nginx/1.2.9 Date: […]