通过配置回源HTTP请求超时时间,可以控制回源HTTP请求的超时时间。如果回源HTTP请求超时时间设置的较短,可能会因为网络波动而频繁出现回源失败;如果回源HTTP请求超时时间设置的过长,也可能会在源站处理能力达到上限、响应失败的情况下,失败请求仍然会长时间占用连接数,导致正常请求无法访问。建议您根据网络链路情况以及源站数据处理能力,合理设置回源HTTP请求超时时间,保障请求能够正常回源。
背景信息
回源HTTP请求时间指的是,CDN回源时,七层HTTP请求时间,不包括回源建连时间(即四层TCP连接时间)。注意事项
阿里云CDN当前可以设置的全链路(包括CDN节点内部链路以及CDN节点到源站之间的链路)超时时间最长不能超过36秒。
回源重试、回源超时、源站探测相关说明
- 回源重试顺序:
- 对域名基础信息的源站地址列表内的源站地址按优先级从高到低进行重试。
- 如果有优先级相同的源站地址,则按权重比例进行重试。
- 回源重试的颗粒度:
- 重试是IP地址级别的,如果源站是域名,将会对域名解析出的所有IP地址进行重试,只有域名下的所有IP都连接失败后才会访问其他可用源站。
- 重试时系统会自动过滤dead table中不可用的源站。
- 回源重试状态码:
- CDN节点在收到源站响应的5xx状态码的时候进行重试。
- 回源超时时间:在源站主动响应重试状态码时,CDN节点收到重试状态码之后就会重试。如果没有收到源站主动响应的重试状态码,则会遵循回源超时时间处理逻辑,达到超时时间之后就会触发CDN节点重试。
- 源站TCP建连超时:10秒(如果要调整,需要提交工单申请配置)。
- 源站写超时:默认为30秒(源站建连后写入内容超时)。
- 源站读超时:默认为30秒(源站建连后在一定时间内没有把CDN节点请求的内容完整响应回去)。
- 源站写超时时间和源站读超时时间可以通过配置回源HTTP请求超时时间来调整。
- 源站探测逻辑:
- TCP连接异常:如果CDN节点与源站IP地址之间连续两次出现TCP连接不可用(建连失败或连接超时),CDN会从可用源站地址列表中剔除该源站IP地址,并将该IP地址加入dead table中,这样后续的回源请求就不会去访问这个源站IP地址;此后CDN节点会每隔5秒使用TCP建连去探测一次该源站IP地址,如果建连成功,则将该源站IP地址恢复到可用源站地址列表中。
- TCP连接正常:如果CDN节点与源站IP地址之间TCP连接正常,但收到源站响应的重试状态码(例如:5xx),此时虽然会触发重试的逻辑,但该源站IP地址仍然还在可用源站地址列表中,下次访问还会按权重去请求该源站(即TCP四层连接正常的情况下,七层HTTP请求异常不会主动屏蔽源站IP地址,如果需要在七层HTTP请求异常的情况下主动屏蔽源站IP地址,则需要提交工单申请配置)。
操作步骤
- 登录CDN控制台。
- 在左侧导航栏,单击域名管理。
- 在域名管理页面,单击目标域名对应的管理。
- 在指定域名的左侧导航栏,单击回源配置。
- 在回源HTTP请求超时时间区域,单击修改配置。
- 在回源HTTP请求超时时间对话框,设置超时时间。
- 单击确定完成配置。