1.需要自定义cdn缓存策略
这里的策略也是先复制之前的cdn策略哈 最后复制完了 全部新增这两条标头key
CloudFront-Viewer-Country
CloudFront-Viewer-City
2.然后新增cdn函数,应用你写的这个函数
function handler(event) {
var request = event.request;
var response = event.response;
// 获取用户的 IP 地址
var userIP = event.viewer.ip;
var country = request.headers['cloudfront-viewer-country'] ? request.headers['cloudfront-viewer-country'].value : 'Unknown';
var city = request.headers['cloudfront-viewer-city'] ? request.headers['cloudfront-viewer-city'].value : 'Unknown';
// 在响应标头中加入用户的 IP 地址,确保值是字符串
response.headers['client_ip'] = { value: String(userIP) };
response.headers['client_country'] = {value: country};
response.headers['client_city'] = {value: city};
return response;
// return request.headers;
}
测试函数 发布
cdn 行为 绑定函数 即可
测试效果