我有一个语言的cookie。 我想检查这个cookie是否设置,并检查其值,redirect到特定的页面的用户。 cookie名称是Lang ,其值可能是En,Fr或Ar 如果(req.http.Cookie〜“Lang”){ //现在我想检查cookie的值 //如果LANG ==“Ar” //设置req.url = req.url“CookieValue” } 任何人都知道如何检查清漆中的cookie值? 谢谢
我们必须在我们的networking环境中进行deviseselect。 在这个时候,如果我们可以把清漆caching服务器放到vmware环境或专用硬件上,我们就会陷入讨论。 我的设想 : varnish / apache servers – > tomcat实例(在vmware中) – > mysql集群 (Apache需要在那里,因为我们希望能够排除清漆解决caching问题) 这个设置将服务于30个Tomcat CMS实例,其中3个将是大型站点 我们的主要问题是,如果我们将caching服务器放在VMWare中,性能会大幅度下降 有没有人在这里得到任何与VMWarecaching服务器的经验?
几乎每个网页都是dynamic生成的。 但是,他们不经常改变(有点类似于论坛页面)。 所以我想使用caching反向代理(如Squid,varnish或Nginx)来caching它们。 问题是,对于我login的用户,他们每个人都会在页面右上angular看到一个名为“Welcome John Doe。Logout”的个性化页眉(就像serverfault一样)。 而没有login的用户会看到一个标题“Login”。 所以基本上,即使每个用户都会看到相同的页面,但是由于该个性化页眉的不同,它们的版本也略有不同。 有没有什么办法可以caching页面的“主要”部分,并从caching中提供服务,同时为每个用户dynamic生成个性化头文件? 这一定是一个非常普遍的问题。 一般如何解决?
任何人都知道为什么我们得到一个非常低的平均caching命中率,当使用Wordpress(与光油和Nginx的)? 清漆统计显示: 命中率:10 100 518命中率平均值:0.4143 0.2690 0.1948 任何想法如何解决这个问题? 我的清漆default.vcl是: # This is a basic VCL configuration file for varnish. See the vcl(7) # man page for details on VCL syntax and semantics. # # Default backend definition. Set this to point to your content # server. # backend default { .host = "77.81.240.177"; .port = […]
我现在头痛了几个小时,想看看有没有人可以帮忙。 1)我有一台负载均衡器,后端有6台服务器。 2)后台服务器是Nginx,为了获得访问者的真实IP地址,我只需要在每个Nginx安装中进行以下操作,我就可以得到每个访客的真实客户端IP地址。 set_real_ip_from 192.168.255.0/24; <– to handle the load balancer IP real_ip_header X-Forwarded-For; 3)现在,我已经在每个在127.0.0.1上执行caching的Nginx前安装了Varnish,由于某种原因,现在Nginx并没有看到来自LoadBalancer的实际客户端IP地址 – > Varnish – > Nginx 这是打印以下内容: IP地址:192.168.255.9 < – 这应该是真正的客户端IP地址,而不是192.168(假设正在打印负载均衡器IP地址) 更详细的主机地址:192.168.255.9 很多谢谢,如果你能帮助。 戴夫 更新: 没有清漆的方程中,我有以下LB – > NGINX和NGINX内存在 set_real_ip_from 192.168.255.0/24; real_ip_header X-Forwarded-For; 当NGINXloggingremote_addr时,下面的第一个条目打印真实的客户端IP地址 log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 213.205.234.x – […]
我遇到了Varnish的问题,它适用于几个意见,然后生病…奇怪的是,它可以工作大约20或30个请求。 如果我直接调用Apache,它工作正常。 我在Debian Squeeze上运行Varnish Version:3.0.3-1,现在在端口80上运行Apache,在同一台服务器上运行端口8080上的Varnish。 我使用https://github.com/mattiasgeniar/varnish-3.0-configuration-templates作为我的VCL的基础,并修改了VCL来支持Concrete5。 任何人有任何线索我应该如何debugging呢? backend default { .host = "127.0.0.1"; .port = "80"; .connect_timeout = 1.5s; .first_byte_timeout = 45s; .between_bytes_timeout = 30s; .probe = { .url = "/"; .timeout = 1s; .interval = 10s; .window = 10; .threshold = 8; } } LOG 0 CLI – Rd ping 0 CLI – Wr […]
我正在使用nginx <=>清漆<=> apache 我通过nginx proxy_set_header通过客户端IP清漆X-Forwarded-For $ remote_addr; 但清漆也添加X-Forwarded-For为127.0.0.1,所以Apache显示2个IP的逗号为基础。 我需要通过nginx发送IP只我想禁用添加127.0.0.1清漆 清漆版本3.0.0这里是default.vcl 后端默认{.host =“204.29.58.4”; .port =“80”; } sub vcl_recv {if(req.http.Range){return(pipe); }}
在以下设置中: Client -> LB -> Varnish 我想configurationVarnish acls根据客户的IP采取一定的行动。 LB发送客户端IP到名为“ClientIP”的variables中,该variables可以通过req.httpd.ClientIP.读取req.httpd.ClientIP. 我试过这个: acl admin_net { "10.10.1.160"/27; } sub vcl_deliever { if (req.http.ClientIP ~ admin_net) { // do something … } } 但VCL编译失败,“预期的CSTR得到'admin_net'”(Cstring?)。 我可以通过req.http.ClientIP ~ "10.10.1.*")来解决这个问题,但是我必须注释掉ACL行。 有没有另外一种方法来使用ACL的这个工作? 我也查看了client.ip ,这是一个只读variables。 在上面的设置中,它包含LB的IP而不是客户的IP。
我正在使用Apache来提供静态文件。 Apache2需要太多的RAM。 我想减lessRAM的使用量。 我没有清漆的经验。 据说速度更快。 我不知道Varnish是如何工作的。 那么,运行Apache2 + Varnish需要多less内存? Apache2 + Varnish比没有Varnish的Apache2有更高的内存使用率吗? 谢谢。
微caching和Nginx可以真正加快应用程序。 是否有可能使用微caching(或类似的)与清漆?