CDN回源至函数计算,为什么使用http触发器url作为源站地址可以正常接收到CDN回源的header,而使用自定义域名则丢失CDN回源的header,x-forwarded-for也没有CDN节点的ip?
使用HTTP触发器URL作为源站地址时,CDN回源的header能够正常被接收。这是因为在这种情况下,CDN将回源流量直接指向函数计算进行处理。然而,当使用自定义域名作为源站地址时,可能会出现丢失CDN回源的header的情况。这可能是因为函数计算的自定义域名没有开启HTTPS,源站的端口需要设置为80端口。同时,对于自定义域名,如果没有在OSS的域名管理中添加该域名,设置回源Host为加速域名也可能会导致CDN回源无法正常工作。因此,为了确保CDN回源的header能够正常被接收,建议使用HTTP触发器URL作为源站地址,并确保函数计算的自定义域名开启HTTPS。
CDN回源至函数计算时,使用http触发器URL作为源站地址和使用自定义域名可能会产生不同的结果,这可能与CDN服务提供商如何处理请求头有关。以下是可能导致这种差异的一些原因:
CDN配置:不同CDN供应商对请求头的处理方式可能有所不同,一些供应商可能在将请求转发到源站时删除或修改某些头部信息。
透明代理模式:当CDN节点作为透明代理(也称为反向代理)工作时,它通常会保留原始客户端IP地址,并将其添加到X-Forwarded-For
头部中。然而,如果CDN节点不以透明代理模式运行,则可能不会将这些信息传递给后端服务器。
自定义域名配置问题:如果你使用的是自定义域名,那么可能存在配置问题导致请求头被错误地处理或者未正确传递到函数计算。检查你的CDN设置和安全组规则,确保它们允许从CDN节点到函数计算的流量,并且没有过滤掉必要的头部信息。
函数计算配置:确保你的函数计算配置正确接收并处理来自CDN的请求。你可能需要特别检查与接收请求头相关的设置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。