我正在尝试将来自机器人(谷歌、Facebook 等)的流量路由到在 AWS 上使用弹性 beanstalk 托管的完全不同的服务器。
在寻找示例时,我只遇到将流量路由到另一个 S3 存储桶的人,如下所示:
exports.handler = (event, context, callback) => {
const request = event.Records[0].cf.request;
let is_crawler = undefined;
if ('is-crawler' in request['headers']) {
is_crawler = request['headers']['is-crawler'][0].value.toLowerCase();
}
if (is_crawler === 'true') {
request.origin = {
s3: {
authMethod: 'origin-access-identity',
path: '',
domainName: 'redacted.s3-eu-west-1.amazonaws.com',
region: 'eu-west-1,
customHeaders: {}
}
};
}
callback(null, request);
};
我似乎还没有真正理解这个request.origin
对象。我不明白为什么它会有一个专用于 s3 的属性?而且我也不明白如何使用此代码将流量路由到api.<domainname>.com
.
以前有人解决过这个问题吗?