我们把Nginx作为php-fpm的webserver。 它也服务于所有的静态文件。 我们需要caching对php后端的请求。 我们要用这个清漆。 但问题是在哪里放置:在Nginx的前面还是后面呢? 清漆只会cachingdynamic内容。 静态文件由Nginx提供,因为有大量的大图像,没有足够的内存来存储它们。 那么,让Nginx能够将dynamic页面的传递请求代理到Varnish是否可以? 或者让Varnish使用Nginx作为后端,并用return pipe(vcl)跳过所有的图像请求到Nginx?
我有一个网站,scheme如下: networking< – > ExternalELB < – >光油< – > WWWnode 我正在尝试设置第二个InternalELB,因此该scheme将更改为: networking< – > ExternalELB < – >清漆< – > InternalELB < – > WWWnode 但是,当我应用新的configuration,我得到了301无限循环的前端! 🙁 可能是什么问题呢? WWWnode没有安装任何https证书,它只使用80端口,而ExternalELB将来自443&80的stream量传递给Varnish节点上的80。
运行时出现此错误: varnishlog -b -q'FetchError' – ObjHeader X-Frame-Options: SAMEORIGIN – ObjHeader Vary: Accept-Encoding – ObjHeader Content-Type: text/html; charset=UTF-8 – ObjHeader Content-Language: uk – ObjHeader Content-Encoding: gzip – Fetch_Body 4 eof – – Gzip Gunzip error: -3 (invalid code lengths set) – FetchError Invalid Gzip data: invalid code lengths set – Gzip GFE 0 20 80 80 […]
一个外部IP地址在Debian机器上的访问被阻止(虽然一些罕见的请求通过IP地址)503错误到我的Apache2networking服务器上的网站。 我已经通过查看其中一个网站的apache访问日志来确定这一点。 我也在服务器上设置了Varnish 3.04。 直到几天前,IP地址才能够到达网站。 这开始发生在蓝色之外。 我假设这个IP地址被清除(或者也许apache)被标记为bot。 我该如何追查Apache或Varnish是罪魁祸首? 那我该如何纠正这种情况呢?
我有一个超过一百万页的网站,上面有一个varnishcaching,位于nginx的后面,每天我运行一个cron来使所有页面无效(不要问我为什么,这很复杂…)。 该网站在Cloudflare的后面,我根据DNS请求收费。 我能做些什么来减less发送到Cloudfare的URL请求的数量? 我想放入一个单独的服务器前缀,绕过Cloudflare,但意识到清漆的关键是完整的FQDN +尾随URL
我们正在使用一个硬件负载均衡器,它将用户请求发送到4个应用服务器(varnish – > apache),按照最小负载的基础。 我们的要求是阻止某些IP(不是全部范围),如果需要的话。 但是,即使我们可以从varnishncsa日志中获得客户端IP,并且如果我们编写了一个acl块并阻止了某个Ip,它也不会有效地阻止它,并且用户stream量正在达到apache。 但是,如果我们使用服务器主机名而不是负载均衡器url来访问url,那么这个acl块是行得通的。 所以我们可以得出这样的结论:由于LB每个请求发送两个IP(1.自己的NAT Ip和2.客户端IP在X-forwarded-for报头格式中),清漆无法阻塞。 我们正在使用清漆3。 我们的查询是 – 如果清漆只在varnishncsa日志中显示客户端IP,为什么不给这个IP优先,而不是LB NAT ip。 当stream量通过LB到达时,是否有其他机制阻止客户IP清除?
我已经inheritance了安装了Apache和Debian 8的系统和多个VirtualHosts。 在我的000-default.conf文件中,我将/ var / www /作为文档根目录,而不是/ var / www / html,并且我无法在任何带有/ var / www / html的DocumentRoot中find它。 现在我已经安装了清漆,而不是复杂它我运行在6081默认端口。 所以,如果我问一个http:// mylanip:6081我希望我的清漆返回文档根/ var / www,但它返回/ var / www / html。 我已经告诉清漆,他有后端在80端口,所以没关系,但是…为什么显示我的/ var / www / html而不是/ var / www / ??
我在我的nginxconfiguration中有一个上游服务器,指向Varnish监听的端口: upstream abtomorrow_app_server { server 127.0.0.1:6081 fail_timeout=0; } 这适用于ipv4,但我很好奇, 这是足够的ipv6? 我怎样才能正确地testing它? 注意:我已将AAAAlogging添加到域,并正确configuration了AWS(AWS已确认)。 这是我的netstat: netstat -nlp | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14812/nginx tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 14812/nginx tcp6 0 0 :::80 :::* LISTEN 14812/nginx tcp6 0 0 :::443 :::* LISTEN 14812/nginx 它似乎是在监听ipv6地址,但是像http://ipv6-test.com/validate.php这样的服务却说web服务器是不可访问的。 有问题的域名是albertatomorrow.ca 谢谢! :d
我拥有两台服务器。 一个在新加坡(data.example.me),另一个在欧洲(eu.data.example.me)。 我希望网站在访问我的网站时为他们最近的服务器提供服务。 我使用GeoIP模块在Signapore服务器上configuration了Nginx。 访问来自欧洲的网站(data.example.me)时,我收到“ERR_TOO_MANY_REDIRECTS”。 从其他地方它工作正常。 这是欧洲服务器上的configuration。 它已经安装了清漆。 # Marker to tell the VCL compiler that this VCL has been adapted to the # new 4.0 format. vcl 4.0; # Default backend definition. Set this to point to your content server. backend default { .host = "139.51.1.1"; // Points to Nginx Server in Singapore .port […]
我想添加清漆到现有的networking堆栈,但我似乎无法得到我的网页的caching版本。 我想知道我可能做错了。 这个configuration工作,但我没有得到从清漆回来的caching响应: 1. Nginx is listening on port 443, request proxied to Varnish 2. Varnish is listening on port 80, request proxied to Node App 3. Successful Response 我试过了: curl -kIL https://www.example.com HTTP/1.1 200 OK Cache-Control: public, max-age=30 Set-Cookie: locale=en-ca; Path=/ Set-Cookie: locale=en-ca; Path=/ Content-Type: text/html; charset=utf-8 Content-Length: 161861 ETag: W/"27845-EcqEhuo8dduXo4rrAF4EfS6igbQ" Vary: Accept-Encoding Date: […]