- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为在kubernetes集群中运行的 Varnish 缓存服务器创建了 Helm chart ,同时使用“外部IP”进行测试时会生成其抛出错误,在下面共享
在下面共享varnish.vcl,values.yaml和deployment.yaml。关于如何解决的任何建议,因为我已将后端/Web服务器硬编码为端口为“80”的.host =“www.varnish-cache.org”。我的要求是在执行curl -IL时,我应该使用不如上所述的缓存值(直接从后端服务器)获取响应。
任何解决方案/方法都将受到欢迎。
varnish.vcl:
VCL version 5.0 is not supported so it should be 4.0 or 4.1 even though actually used Varnish version is 6
vcl 4.1;
import std;
# The minimal Varnish version is 5.0
# For SSL offloading, pass the following header in your proxy server or load balancer: 'X-Forwarded-Proto: https'
{{ .Values.varnishconfigData | indent 2 }}
sub vcl_recv {
# set req.backend_hint = default;
# unset req.http.cookie;
if(req.url == "/healthcheck") {
return(synth(200,"OK"));
}
if(req.url == "/index.html") {
return(synth(200,"OK"));
}
}
probe index {
.url = "/index.html";
.timeout = 60ms;
.interval = 2s;
.window = 5;
.threshold = 3;
}
backend website {
.host = "www.varnish-cache.org";
.port = "80";
.probe = index;
#.probe = {
# .url = "/favicon.ico";
#.timeout = 60ms;
#.interval = 2s;
#.window = 5;
#.threshold = 3;
# }
}
vcl_recv {
if ( req.url ~ "/index.html/") {
set req.backend = website;
} else {
Set req.backend = default;
}
}
#DAEMON_OPTS="-a :80 \
#-T localhost:6082 \
#-f /etc/varnish/default.vcl \
#-S /etc/varnish/secret \
#-s malloc,256m"
#-p http_resp_hdr_len=65536 \
#-p http_resp_size=98304 \
#sub vcl_recv {
## # Remove the cookie header to enable caching
# unset req.http.cookie;
#}
#sub vcl_deliver {
# if (obj.hits > 0) {
# set resp.http.X-Cache = "HIT";
# } else {
# set resp.http.X-Cache = "MISS";
# }
#}
# Default values for varnish.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: varnish
tag: 6.3
pullPolicy: IfNotPresent
nameOverride: ""
fullnameOverride: ""
service:
# type: ClusterIP
type: LoadBalancer
port: 80
varnishconfigData: |-
backend default {
.host = "http://35.170.216.115/";
.port = "80";
.first_byte_timeout = 60s;
.connect_timeout = 300s ;
.probe = {
.url = "/";
.timeout = 1s;
.interval = 5s;
.window = 5;
.threshold = 3;
}
}
sub vcl_backend_response {
set beresp.ttl = 5m;
}
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
resources:
limits:
memory: 128Mi
requests:
memory: 64Mi
#resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: {{ include "varnish.fullname" . }}
labels:
app: {{ include "varnish.name" . }}
chart: {{ include "varnish.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ include "varnish.name" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ include "varnish.name" . }}
release: {{ .Release.Name }}
spec:
volumes:
- name: varnish-config
configMap:
name: {{ include "varnish.fullname" . }}-varnish-config
items:
- key: default.vcl
path: default.vcl
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: VARNISH_VCL
value: /etc/varnish/default.vcl
volumeMounts:
- name: varnish-config
mountPath : /etc/varnish/
ports:
- name: http
containerPort: 80
protocol: TCP
targetPort: 80
livenessProbe:
httpGet:
path: /healthcheck
# port: http
port: 80
failureThreshold: 3
initialDelaySeconds: 45
timeoutSeconds: 10
periodSeconds: 20
readinessProbe:
httpGet:
path: /healthcheck
#port: http
port: 80
initialDelaySeconds: 10
timeoutSeconds: 15
periodSeconds: 5
resources:
{{ toYaml .Values.resources | indent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
* << Request >> 556807
- Begin req 556806 rxreq
- Timestamp Start: 1584534974.251924 0.000000 0.000000
- Timestamp Req: 1584534974.251924 0.000000 0.000000
- VCL_use boot
- ReqStart 100.115.128.0 26466 a0
- ReqMethod GET
- ReqURL /healthcheck
- ReqProtocol HTTP/1.1
- ReqHeader Host: 100.115.128.11:80
- ReqHeader User-Agent: kube-probe/1.14
- ReqHeader Accept-Encoding: gzip
- ReqHeader Connection: close
- ReqHeader X-Forwarded-For: 100.115.128.0
- VCL_call RECV
- VCL_return synth
- VCL_call HASH
- VCL_return lookup
- Timestamp Process: 1584534974.251966 0.000042 0.000042
- RespHeader Date: Wed, 18 Mar 2020 12:36:14 GMT
- RespHeader Server: Varnish
- RespHeader X-Varnish: 556807
- RespProtocol HTTP/1.1
- RespStatus 200
- RespReason OK
- RespReason OK
- VCL_call SYNTH
- RespHeader Content-Type: text/html; charset=utf-8
- RespHeader Retry-After: 5
- VCL_return deliver
- RespHeader Content-Length: 229
- Storage malloc Transient
- Filters
- RespHeader Accept-Ranges: bytes
- RespHeader Connection: close
- Timestamp Resp: 1584534974.252121 0.000197 0.000155
- ReqAcct 125 0 125 210 229 439
- End
最佳答案
我认为这不起作用:
.host = "www.varnish-cache.org";
.host = "100.68.38.132"
.host = "100.68.38.132";
* << Request >> 1512355
- Begin req 1512354 rxreq
- Timestamp Start: 1584707667.287292 0.000000 0.000000
- Timestamp Req: 1584707667.287292 0.000000 0.000000
- VCL_use boot
- ReqStart 100.112.64.0 51532 a0
- ReqMethod GET
- ReqURL /
- ReqProtocol HTTP/1.1
- ReqHeader Host: 52.220.214.66
- ReqHeader User-Agent: Mozilla/5.0 zgrab/0.x
- ReqHeader Accept: */*
- ReqHeader Accept-Encoding: gzip
- ReqHeader X-Forwarded-For: 100.112.64.0
- VCL_call RECV
- ReqUnset Host: 52.220.214.66
- ReqHeader host: 52.220.214.66
- VCL_return hash
- VCL_call HASH
- VCL_return lookup
- VCL_call MISS
- VCL_return fetch
- Link bereq 1512356 fetch
- Timestamp Fetch: 1584707667.287521 0.000228 0.000228
- RespProtocol HTTP/1.1
- RespStatus 503
- RespReason Backend fetch failed
- RespHeader Date: Fri, 20 Mar 2020 12:34:27 GMT
- RespHeader Server: Varnish
- RespHeader Content-Type: text/html; charset=utf-8
- RespHeader Retry-After: 5
- RespHeader X-Varnish: 1512355
- RespHeader Age: 0
- RespHeader Via: 1.1 varnish (Varnish/6.3)
- VCL_call DELIVER
- RespHeader X-Cache: uncached
- VCL_return deliver
- Timestamp Process: 1584707667.287542 0.000250 0.000021
- Filters
- RespHeader Content-Length: 284
- RespHeader Connection: keep-alive
- Timestamp Resp: 1584707667.287591 0.000299 0.000048
- ReqAcct 110 0 110 271 284 555
- End
** << BeReq >> 1512356
-- Begin bereq 1512355 fetch
-- VCL_use boot
-- Timestamp Start: 1584707667.287401 0.000000 0.000000
-- BereqMethod GET
-- BereqURL /
-- BereqProtocol HTTP/1.1
-- BereqHeader User-Agent: Mozilla/5.0 zgrab/0.x
-- BereqHeader Accept: */*
-- BereqHeader Accept-Encoding: gzip
-- BereqHeader X-Forwarded-For: 100.112.64.0
-- BereqHeader host: 52.220.214.66
-- BereqHeader X-Varnish: 1512356
-- VCL_call BACKEND_FETCH
-- VCL_return fetch
-- FetchError backend default: unhealthy
-- Timestamp Beresp: 1584707667.287429 0.000028 0.000028
-- Timestamp Error: 1584707667.287432 0.000031 0.000002
-- BerespProtocol HTTP/1.1
-- BerespStatus 503
-- BerespReason Service Unavailable
-- BerespReason Backend fetch failed
-- BerespHeader Date: Fri, 20 Mar 2020 12:34:27 GMT
-- BerespHeader Server: Varnish
-- VCL_call BACKEND_ERROR
-- BerespHeader Content-Type: text/html; charset=utf-8
-- BerespHeader Retry-After: 5
-- VCL_return deliver
-- Storage malloc Transient
-- Length 284
-- BereqAcct 0 0 0 0 0 0
-- End
关于kubernetes - 错误 503 后端获取失败 Guru Meditation : XID: 45654 Varnish cache server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60739151/
任何人都可以发布一些源代码,这些源代码在编译(如有必要)并运行时,会在Amiga上产生“大师冥想错误”。 汇编程序,C或ARexx都可以。 谢谢。 最佳答案 尝试Alert()的exec.librar
任意 Raphael JS大师(或任何不了解 Raphael JS 的天才)知道如何简单地绘制这个? 纯黄色是圆圈部分的 4.2/10。 最佳答案 使用 svg 的椭圆弧曲线命令的第一种方法 演示:h
我在 Linux 服务器(Varnish 缓存)中有 magento 网站,一些产品详细信息页面显示错误 Error 503 Backend fetch failed Guru Meditation:
我们使用 docker,所以源代码是针对 linux 代码的。但是,我们在 Mac 上开发,因此 go-guru-callers 在本地运行时无法正常工作。它提示下面的错误,但错误是因为该属性是特定于
我不是Wordpress的新手,而是PHP的新手。我设法使插件正常工作(缩略图等),但似乎无法将默认Feed从默认的youtube channel 更改为我的最爱。我发现了一个帖子,其中开发人员说要编
Book.java package pl.spring.guru.spring5webapp.model; import javax.persistence.*; import java.util.H
在 C++ 中 Guru of the week #32 (谈到预处理器宏的“合法”使用),最后一个示例显示了一个名为 DERR_ENTRY 的宏,但没有任何实际实现: The implementat
我想我对实例化对象感到困惑……好吧……不是正确的对象,因为 new 语句会产生编译错误。我的背景是 Python 和 Java,我被 C++ 方法所困,无法创建非类的对象。 我正在从 C# 翻译一个算
使用较新的 gTLD 之一会对 SEO 产生任何不利影响吗? 最佳答案 好与坏是相对的。新 gTLD 是否会阻止您的网站被搜索引擎编入索引或抓取?当然不是。 它会帮助还是伤害你的竞争力?取决于您的竞争
我为在kubernetes集群中运行的 Varnish 缓存服务器创建了 Helm chart ,同时使用“外部IP”进行测试时会生成其抛出错误,在下面共享 在下面共享varnish.vcl,valu
我正在尝试通过蓝牙连接两个 ESP32,同时一个作为服务器,一个作为客户端。将客户端连接到服务器工作正常,发现特征也有效。但是当我尝试为通知注册特征时,我收到一条错误消息。 我的其余代码似乎工作得很好
我是一名优秀的程序员,十分优秀!