使用 ios-aws-sdk 是否通过 SSL 传递所有内容

Does using ios-aws-sdk pass everything over SSL

我使用 AWS Lambda 作为后端服务来验证来自我的 ios 应用程序的用户。在了解 Lambda 时,有人指出我使用 Amazon API 网关使网络上的数据通过 HTTPS:// 而不是 HTTP://。

最近有人指出,直接从我的应用程序对 AWS Lambda、DynamoDB、S3 和 Cognito 的所有调用都会自动通过 HTTPS://。这是真的还是假的?

不幸的是,文档没有明确说明我能找到的问题,但在 github:

上检查源代码

AWSService,sdk使用的基础服务之一,默认使用https,只有在AWSServiceConfiguration特定配置建立且参数useUnsafeUrl设置为true时才会切换到http .

AWSLambdaService,即使使用配置对象初始化,似乎也将 useUnsafeUrl 选项设置为 NO

所以 - 对源的检查表明所有对服务的访问都默认为 https。

这也与其他 languages/frameworks 中的 AWS SDK 默认值一致。

-- 编辑注释 --

发布此消息后我有了一个想法 - 使用 API https 网关的建议可能是基于将 Lambda 函数公开为 API 端点的常见做法。如果你想这样做,那么 API 网关给了你一个方法,如果你正在使用 API 网关,那么你 do 需要确保它被配置使用 https。

您的问题中不清楚的是 - 从您的应用程序,您是否通过 API 网关端点调用 lambda 函数?还是直接通过 AWS SDK?如果直接通过 AWS SDK 调用,则根本不需要使用 API 网关。

如果您已经在使用 API 网关,并发出 HTTPS 网络请求来调用您的 lambda 函数,我不一定会停止,因为它为您提供了一个很好的抽象和解耦点 - 您可以完全改变你的后端实现,只要你保持 API 网关端点配置不变,你的客户端仍然可以工作。或者,您可以开始实施其他客户端或将您的 API 公开给无法使用 AWS SDK 的第 3 方客户端,他们仍然可以通过标准 HTTP 协议与您的后端进行交互。