Apple 在 S3 上的 apple-app-site-association 文件与 CloudFront 分发

Posted

技术标签:

【中文标题】Apple 在 S3 上的 apple-app-site-association 文件与 CloudFront 分发【英文标题】:Apple's apple-app-site-association file on S3 with CloudFront Distribution 【发布时间】:2022-01-09 16:22:53 【问题描述】:

我正在尝试通过 CloudFront 分配通过我的自定义域从 S3 提供 apple-app-site-association。

但是当我得到如下路径时,它开始下载而不是显示在浏览器中。

https:/mycustomdonain.com/.well-known/apple-app-site-association

我是否需要在 S3 或 CloudFront 级别进行任何设置才能使其正常工作?

注意:该应用程序是在 Angular 中开发的。

谢谢

【问题讨论】:

浏览器将根据 Content-Type(有时与 Content-Disposition 组合)标头的值来确定是下载文件还是显示文件。如果值为 application/json 它很可能会被显示。 S3 自动为您上传的文件应用内容类型 Amazon S3 通常基于其扩展名。我相信如果您将文件的类型设置为application/json,它将显示出来,请参见此处***.com/questions/14150854/… 【参考方案1】:

正如 Christos 所说,您需要在 S3 中设置内容类型响应标头,这也适用于 Cloudfront HTTPS URL。

这是我的一个示例,用于深度链接和 OpenID Connect 与 HTTPS 重定向 URI:

https://mobile.authsamples.com/.well-known/apple-app-site-association

关于这在我的blog post 中的外观的更多详细信息,您可以在其中通过编辑 tte 文件属性来设置内容类型:

【讨论】:

以上是关于Apple 在 S3 上的 apple-app-site-association 文件与 CloudFront 分发的主要内容,如果未能解决你的问题,请参考以下文章

使用 Lambda 节点从 S3 上的文件在 S3 上创建一个 zip 文件

如何在 pyspark 中读取 s3 上的表格数据?

S3 存储桶上的 CORS

使用 node.js 保存存储在 s3 上的图像?

亚马逊 s3 / 其他 AWS 服务上的操作日志

亚马逊s3上的zcat