Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1044729
  • 博文数量: 157
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1388
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-09 15:37
文章分类

全部博文(157)

文章存档

2023年(9)

2022年(2)

2021年(18)

2020年(7)

2017年(13)

2016年(53)

2015年(55)

我的朋友

分类: 服务器与存储

2016-01-20 14:21:24

用户请求当通过ats访问源站时,可能出现的错误码及对错误码的处理:
1. 当
CDN节点文件不存在时,如果源站返回5xx【配置return 502;】,则给用户直接返回5xx【TCP_REFRESH_MISS/502或者TCP_MISS/502,一条且会带age响应头】

2. 当CDN节点文件过期后用户下次访问时,我们会回源验证:
*** 源站返回5xx: 这时如果源站返回5XX状态码,则ats给用户返回5xx,如果想不反馈给用户5xx,而是将缓存中过期的文件内容返回给用户,这个功能ats本身没带,需要自编写ts插件来实现【见过插件处理后返回TCP_MISS_X_REDIRECT/502TCP_HIT/200

***
源站宕机,vcache返回5xx:源站连接不上,则在records.config中配置项proxy.config.http.cache.max_stale_age的值的时间内返回缓存内容【TCP_REFRESH_FAIL_HIT/200->TCP_HIT/200】,响应头age值超过这个时间返回5xx【TCP_REFRESH_FAIL_HIT/502两条】,这是ats带的功能,不需要另外开发,此时没有删除原来缓存的内容,如果此后源服务恢复正常了,再次请求会TCP_REFRESH_HIT/200

3. 
 Dns解析失败,直接返回用户502 ERR_CONNECT_FAIL/502 ,两条,没有age响应头

4. 
remap中没有配置,则用户发起请求不能回源,直接返回用
ERR_CONNECT_FAIL/404,ats上目前会一下出来两条404的访问log,响应头中无age值

5. remap中配置了,但源上没有用户请求的内容,则会回源,源返回
TCP_REFRESH_MISS/404,ats上只会出来一条404的访问log且响应头中有age值,此时会删除原来缓存的内容【这个是否删除貌似程序可以控制...】,如果此后源上存在了用户请求的内容,再次请求会TCP_MISS/200



阅读(2778) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~