node.js - 使用 AWS Lambda 检测浏览器版本

标签 node.js amazon-web-services aws-lambda amazon-cloudfront

我通过 CloudFront 在 S3 上提供静态网站。 每次 CloudFront 提供文件 (Lambda@Edge) 时都可以触发 lambda 函数。

This example显示 Lambda@Edge Nodejs 函数如何检测浏览器中的用户语言设置并相应地提供文件。非常酷!

问题: 是否可以检测用户使用的浏览器?

用例:我的网站不支持旧版浏览器(IE 11 及更低版本),我想重定向到解释这一点的页面。

最佳答案

您可以查看旧版浏览器的查看器请求和回调响应(重定向)中的用户代理 header 。

https://www.reliam.com/blog/handling-requests-with-lambda-at-edge/ 使用此处提到的响应示例进行重定向:(示例:生成 HTTP 重定向(生成的响应))

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html#lambda-examples-generated-response-examples

关于node.js - 使用 AWS Lambda 检测浏览器版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55934451/

相关文章:

node.js - 为什么我不能使用 node-postgres 从数据库中删除?

amazon-web-services - 自动缩放 EC2 : Launch Webserver on Spun-up Instance

python - 使用 python 的 Lambda@edge 函数

amazon-web-services - AWS : Delete lambda layer still retains layer version history

node.js - 使用 sequelize-automate 时出错 "ConnectionError [SequelizeConnectionError]: Failed to connect to localhost:1443 - Could not connect (sequence)"

node.js - 客户认证

javascript - 有一种简单的方法可以确保 JavaScript 中 forEach/for 循环的正确顺序吗?

mysql - EC2 实例运行速度非常慢

amazon-web-services - 每个AWS批处理作业是否都会启动一个新的Docker容器

amazon-web-services - 在java中将目标(LambdaFunction)添加到AWS-CDK中的事件规则时出现错误: There is already a Construct with name lambda_name in stack