配置CDN支持手机和PC端的不同访问

配置CDN支持手机和PC端的不同访问

更新时间:2018-07-30 17:25:39

概述

本文概述CDN配置后支持手机和PC端的分别访问。

问题描述

需要设置CDN对不同的UA做不同的缓存,实现手机访问网站跳转到Wap页面,PC端访问跳转到PC端的页面。

问题原因

因为通过UserAgent头识别用户的客户端,然后返回不同的内容给不同的UA用户。但是CDN缓存并不会区分UA,只会区分URL,所以相同URL缓存的内容是一致的,无论UA是什么样。

解决方案

CDN是支持对不同的UA,设置不同的缓存,这个是根据vary头来控制的。vary头里面的字段一般是头信息的字段,表示CDN会检测这个头信息。如果内容不一致就缓存不同的内容,命中时也一样,必须头信息一致才会缓存。这个vary头需要在源站添加。在Nginx中增加如下信息。
add_header Vary "Accept-Encoding, User-Agent";

适用于

  • CDN