问题标签 [varnish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
487 浏览

ruby-on-rails - Varnish + Rails 在开发中导致无效的真实性令牌

这是我的情况。我正在我的本地机器上测试 Varnish(我正在做一些与页面缓存相关的事情,每次推送到 staging 都会很痛苦)。一切正常,除了每当我提交表单时,我都会遇到ActionController::InvalidAuthenticityToken异常。

Varnish 在 localhost 的 6081 端口上运行,Thin 在 localhost 的 80 端口上运行。当我尝试使用端口 6081 使用该站点时出现异常。

有什么办法可以解决这个问题吗?

0 投票
1 回答
3688 浏览

url - 我可以用 Varnish 重新格式化我的 URL 参数吗

我有一个相对简单的(我认为)用例,但我找不到任何有人这样做的例子。我们在两个不同的应用程序前面使用 Varnish 作为缓存和反向代理,并且希望使两者之间的事情更加统一,因为它们都做类似的事情。我希望 Varnish 可以帮助重写 URL,如下所示。

分页的原始应用程序 URL(获取前 10 项):

所需网址:

这只是一个例子(最复杂的,因为它结合了两个参数),但在所有情况下,参数的输入值都保持不变,只是参数名称会改变。

另一个例子是:

至:

有没有人对清漆有任何经验以及如何做到这一点?

谢谢

0 投票
3 回答
4940 浏览

rest - REST API 缓存,我应该使用反向代理还是 memcache(d)?

我有一个 REST API,我想在其中缓存索引的 JSON 响应 (GET /foo) 和读取操作 (GET /foo/1) 以显着提高性能。当资源上有 POST 或 PUT 时,索引和读取结果的缓存条目需要过期,因此不会提供旧内容。

这是最好使用 Squid / Varnish 之类的反向代理完成的场景,还是您会选择 memcache(d)?

0 投票
3 回答
22992 浏览

performance - Varnish: cache only specific domain

I have been Googling aggressively, but without luck.

I'm using Varnish with great results, but I would like to host multiple websites on a single server (Apache), without Varnish caching all of them.

Can I specify what websites by URL to cache?

Thanks

0 投票
1 回答
1267 浏览

symfony1 - 在 Symfony 应用程序中使用 Varnish?

我的目标是使用 Varnish 在我的 Symfony 1.4 站点 (http://my.perqworks.com) 中缓存我的静态资产。

我可以编写一个 VCL 文件,去除所有静态文件上的 cookie,同时将用户身份验证 cookie 留在 php 文件中——但用户身份验证失败。我无法登录我的应用程序。

我正在寻找一个答案,描述如何使用 Varnish 缓存静态文件,同时允许我的 Symfony 应用程序登录并支持用户身份验证。

目前我正在使用这样的东西:

if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") { unset req.http.cookie; }

0 投票
2 回答
829 浏览

django - Django 性能

我正在使用带有 apache mod_wsgi 的 django,我的网站在每个页面上都有动态数据,并且所有媒体(css、图像、js)都存储在通过“ http://bucket.domain.com/images/喜欢的亚马逊 S3 存储桶中*.jpg”在标记内。. . . 我的问题是,清漆还能帮助我加快网络服务器的速度吗?

我正在努力推倒这里所有的绊脚石。还有什么我应该看的吗?我在每个页面上为我的代码创建了一个查询分析器,渲染速度约为0.120 CPU 秒,这似乎足够快,但是当我使用ab -c 5 -n 100 http://mysite.com/时,结果只是每秒请求数: 12.70 [#/秒](平均值)。. .

我意识到有很多变数在起作用,但我正在寻找一些关于我可以做的事情的指导,并认为 Varnish 可能是答案。

更新 这里是我的分析器的截图 替代文字

0 投票
1 回答
411 浏览

php - 在 RAMDISK 中运行 Wordpress?

出于性能原因,在 RAMDISK 中运行 Wordpress 是否可行?

0 投票
2 回答
1001 浏览

ruby-on-rails - 是否可以“及时”创建 Rails 会话?

我对 Ruby on Rails(特别是 v3 及更高版本)中会话生命周期的理解是,会话是在请求开始时为每个请求创建的,如果该请求不携带现有会话 cookie,则创建一个新会话将被创建,否则会话 cookie 将被反序列化并存储在会话哈希中。

当然,这样做的目的是支持许多安全功能,例如 CSRF 等。

但是,当涉及到使用 HTTP 缓存服务和代理(例如 Varnish)在站点中缓存页面时,这会带来一些问题,因为大多数配置倾向于在请求和响应中去除这些(通常是所有)cookie结束(因为缓存通常是为一般观众准备的)。

我知道可以设置 Varnish 等来创建包含 cookie 详细信息的对象哈希,这会将缓存的数据范围限定为该会话(以及该用户),但是我想知道这是否完全有必要。

我有一个本质上相当“静态”的应用程序 - 内容是从数据库中提取的,呈现到可以缓存的页面中 - 有一些元素(例如评论计数,“最近”项目等)可以是添加了一个 ESI,但是对于每个请求,Rails 仍然倾向于设置一个新会话,并且当用户已经有一个会话时,缓存服务器会删除这些内容。

我想知道是否有可能(通过预先存在的功能,或自己构建功能)允许开发人员控制何时需要会话,并且只有在指定时才使用 cookie、会话初始化/反序列化等必要。

那,或者我正在以错误的方式思考这个问题,需要从另一个角度解决这个问题......

0 投票
3 回答
22855 浏览

ruby - 如何在 Heroku 上托管的 Ruby/Sinatra 应用程序中设置 HTTP 标头?

我有一个基于 Ruby 和 Sinatra 的工作应用程序,它部署在 Heroku 上。

我想利用 Heroku 上可用的 HTTP 缓存,它使用 Varnish。

我不确定设置标题的最佳方法是什么,以及正确的语法。

关于最佳方法和语法的任何想法?

0 投票
1 回答
12362 浏览

http - 如何让 Varnish 忽略而不是删除 cookie

即使存在 cookie,我也想使用 Varnish 缓存某些页面。我需要注意 3 种可能性:

  1. 匿名用户正在查看某个页面
  2. 登录的用户正在查看一些带有轻度自定义的页面。这些自定义项都存储在签名 cookie 中,并由 Javascript 动态填充。未设置 vary-cookie http 标头。
  3. 登录的用户正在查看一些包含数据库中自定义数据的页面。设置了 vary-cookie http 标头。

预期的行为将是:

  1. 缓存页面。这是 Varnish 处理的最基本的场景。
  2. 缓存页面,不要删除 cookie,因为某些 Javascript 逻辑需要它。
  3. 永远不要缓存这个页面,因为 vary-cookie 表明 cookie 的内容会影响这个页面的输出。

我已经阅读了一些关于 Varnish 的文档,但我无法判断这是默认行为还是我必须在 VCL 中进行一些设置才能实现它。