mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-12-03 23:20:26 +08:00
源站没有地址时也尝试Stale Cache/避免write50x()方法进入死循环
This commit is contained in:
@@ -18,6 +18,8 @@ import (
|
||||
|
||||
// 读取缓存
|
||||
func (this *HTTPRequest) doCacheRead(useStale bool) (shouldStop bool) {
|
||||
this.cacheCanTryStale = false
|
||||
|
||||
cachePolicy := this.Server.HTTPCachePolicy
|
||||
if cachePolicy == nil || !cachePolicy.IsOn {
|
||||
return
|
||||
@@ -167,7 +169,7 @@ func (this *HTTPRequest) doCacheRead(useStale bool) (shouldStop bool) {
|
||||
// cache相关变量
|
||||
this.varMapping["cache.status"] = "MISS"
|
||||
|
||||
if this.web.Cache.Stale != nil && this.web.Cache.Stale.IsOn {
|
||||
if !useStale && this.web.Cache.Stale != nil && this.web.Cache.Stale.IsOn {
|
||||
this.cacheCanTryStale = true
|
||||
}
|
||||
return
|
||||
|
||||
@@ -61,7 +61,7 @@ func (this *HTTPRequest) doReverseProxy() {
|
||||
if origin.Addr == nil {
|
||||
err := errors.New(this.requestFullURL() + ": origin '" + strconv.FormatInt(origin.Id, 10) + "' does not has a address")
|
||||
remotelogs.Error("HTTP_REQUEST_REVERSE_PROXY", err.Error())
|
||||
this.write50x(err, http.StatusBadGateway, false)
|
||||
this.write50x(err, http.StatusBadGateway, true)
|
||||
return
|
||||
}
|
||||
this.RawReq.URL.Scheme = origin.Addr.Protocol.Primary().Scheme()
|
||||
|
||||
Reference in New Issue
Block a user