在 Amazon CloudFront for APIGateway 中为特定文件类型添加内容类型

问题描述 投票:0回答:1

我在 APIGateway 后面的 Lambda 函数上有一个 Express 应用程序。我可以访问网站和 https://example.com.com/robots.txt 。当我将 Cloudfront 分发放在 API 网关前面时,我仍然可以访问网站但不能访问 robots.txt 文件:https://example.com/robots.txt 在将 Cloudfront 与 API 网关结合使用时,如何使此内容类型可发现?

到目前为止,除了我在 Cloudfront 分发中的默认行为外,我还为

/*.txt
创建了一个带有响应标头策略的行为并将其附加到我的分发中。但是它仍然不允许我访问网站上的 robots.txt 文件。

/*.txt

的行为

Content-Type: text/plain

的响应标题策略

分配的行为

amazon-web-services aws-lambda aws-api-gateway amazon-cloudfront content-type
1个回答
0
投票

这对我有用。

使用 API 网关端点创建一个 Origin,查看下面的屏幕截图。

出处:

和行为

  • 添加路径模式
    /*.txt
  • 自动压缩对象:否
  • 查看器协议政策
    Redirect HTTP to HTTPS
  • 允许的 HTTP 方法
    GET, HEAD
  • 限制查看者访问:否
  • Created and Attached Response headers policy 和你的一样。
  • 没有修改任何附加设置

参考下面的截图。 行为:

通过以上配置,我能够成功访问

robots.txt
,这是从Lambda获取的。

如果您仍然遇到问题,那应该是 API Gateway 或 Lambda 的问题,绝对不是 Cloudfront 的问题。

© www.soinside.com 2019 - 2024. All rights reserved.