Ala*_*orm 3 php magento varnish
我正在一个清漆配置没写,这似乎配置使用(pass)和(pipe)互换.关于这两个动作之间的区别究竟是什么,我有点不清楚.
手册部分对(pipe)我来说有点神秘
管道也可以从vcl_recv返回.管道短路客户端和后端连接,Varnish将坐在那里来回移动字节.Varnish不会查看来回发送的数据 - 因此您的日志将不完整.请注意,使用HTTP 1.1,客户端可以在同一连接上发送多个请求,因此您应该指示Varnish在实际返回管道之前添加"Connection:close"标头.
我不确定当他们说"短路"时他们正在谈论什么客户,或者在这种情况下短路是什么意思,或者来回清洗字节与其正常行为有何不同.也就是说这个描述对于理解varnish实现的人来说可能很有用,但对于那些理解varnish的角色"从内存中提取此HTTP请求的结果,或者从应用程序中提取此HTTP请求的结果"的人来说,这有点令人困惑. ".
那么,鉴于这种情况,究竟是(pipe)做什么的(pass)呢?
(我正在使用的特定后端应用程序是Magento,一个基于PHP的电子商务应用程序,如果这很重要(mod_php,FastCGI等)
无论如何,我不是一个光油专家,但这是我的经验和我对管道与传递的理解.
使用pass varnish作为常规HTTP代理 ; 它读取请求并将其推送到后端(Apache/Nginx)
另一方面,Pipe将清漆转换为TCP代理,在Magento的上下文中,当后端将文件作为CSV,pdf或可下载文件返回时,这很方便.例如:
if ( req.url ~ ".*/orderprint/.*")
{
set req.http.connection = "close";
return(pipe);
}
Run Code Online (Sandbox Code Playgroud)
没有我们在提供文件或客户试图下载其可下载产品时经常会看到超时.
| 归档时间: |
|
| 查看次数: |
2715 次 |
| 最近记录: |