前言
今天配置使用cdn的多域名(多个域名指向同一ip)服务器时遇到cdn无法正常运行的问题。
环境
服务器和cdn都是使用阿里云的。
错误分析
我开始时以为是因为cdn的源站不能通过设置ip的方式,因为设置ip的话,会无法准确匹配vhost,服务器直接使用排名靠前的vhost,然而改成通过源站域名的方式也没什么卵用,通过服务器的log分析可以发现,cdn为了节省时间,直接略过DNS解析,把源站域名换成局域网ip(mmp),这是因为我的服务器在阿里云,所以会换成局域网ip,服务器不在cdn所在厂商的应该默认也是使用ip进行访问的,而这种访问方式注定只能指定一个host,要么是准确的vhost,要么是排名靠前的vhost。
解决方法
设置cdn的回源host为对应需加速域名就行