繁体   English   中英

"用于 HTTP GET 和 POST 到 AWS IoT 和 AWS API 网关的 SIM 800 GPRS 调制解调器"

[英]SIM 800 GPRS modem for HTTP GET and POST to AWS IoT and AWS API gateway

我试图使用 SIM 800 模块分别向 AWS 云发送和获取一些 JSON 数据。 我最初是通过终端 UART 软件直接从我的 PC 上试用它并手动输入 AT 命令。

对于 Google 和 Quora 等网站,HTTP GET 通过 SSL ( AT+HTTPSSL=1 ) 可以正常工作,例如,它们返回<html>数据。

1) 我首先考虑使用此处链接中提到的 HTTP 通过 AWS IoT 路由。 但它不仅需要 HTTP SSL 的单个证书,还需要根 CA 证书和私钥,我想除了使用 SIM 800 上的 AT 命令的单个证书之外,不可能添加这些。如果有办法这样做,那么任何人都可以详细说明它的流程和命令吗?

2)然后我尝试走API路线。 我在 AWS 中创建了一个 API 网关,该网关与一些云逻辑内部链接。 我实际上想对 AWS 云进行 JSON 数据的 HTTP POST(技术上是 https),但我为 HTTP GET 创建了一个测试 API 网关,它添加了在 URL 中写入的操作数并以 JSON 的形式发回数据。 但是,通过 SSL 到https://XXXX.execute-api.us-west-2.amazonaws.com/XXX/calc/4/2/+之类的 URL 的 HTTP GET 失败并显示606 error code 在 SIM 800 606 错误代码的 SSL 应用说明中表示

“具有致命级别的 SSL 警报消息导致连接立即终止”

我在这里做错了什么?

此外,我也在https://httpbin.org/ip上尝试了基于 SSL 的 HTTP GET 并得到了相同的 606 错误。 是因为 SIM 800 需要一个<html>而是它得到 JSON 还是其他什么?

对于我通过终端软件从 PC 上的 SIM 800 上的 AT 命令例程,我通常会这样做(对于 API 网关方法):

AT+SAPBR=3,1,"CONTYPE","GPRS"
AT+SAPBR=3,1,"APN","XXXX"
AT+SAPBR=1,1
AT+HTTPINIT
AT+HTTPSSL=1
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","https://XXXX.execute-api.us-west-2.amazonaws.com/XXX/calc/4/2/+"
AT+HTTPACTION=0

提前致谢。

我有同样的问题。 AWS需要TLS1.2TLS1.0仅允许TLS1.0

Microsoft Azure最近升级了TLS要求,其效果是“如果客户端尝试在这种情况下协商TLS 1.0,则请求将因连接重置而失败”。 这解释了为什么我的应用程序现在失败,因为SIM800模块仅支持TLS 1.0。

AWS可能也做了同样的事情。 似乎有一个持续的举动,即弃用TLS 1.0,根据SSL和TLS,6月30日的重大交易是什么? 2018年6月30日是截止日期,如果您要声明PCI合规性,则不支持TLS 1.0。

方法2即API网关。 我不认为通过方法1即AWS IoT可以做到这一点。

@mich@ patrick-fischer的原因是正确的,我也怀疑相同,但不知道解决方案。 我和我的团队联系了AWS支持,他们告诉我们解决方案。

显然,您是通过AWS CloudFront完成的。 您必须使用API​​网关的链接创建CloudFront分配(在我的案例中为https://XXXX.execute-api.us-west-2.amazonaws.com/XXX/calc/4/2/+ ) 。 创建此分发时,您可以提及是否接受传入的HTTP,HTTPS或两者。

在其中一个部分(不记得部分的名称)中,它允许您提及允许传入请求的TLS / SSL版本。 对于SIM 800,TLSv1.0是必须在CloudFront分配中设置的最高支持版本。

CloudFront所做的是允许来自具有某些参数的来源的流量,例如HTTP版本,TLS版本.etc。

我正在尝试在AWS Api Gateway<\/strong>中生成一个自定义域<\/strong>并选择TLS 1.0<\/strong> ,以激活您需要AWS ACM 证书<\/strong>和AWS Route S3<\/strong>中的 DNS 确认(需要一些时间来激活),这里有一些信息: https:\/\/ vintage-kitchen.com\/es\/faq\/faq-how-long-does-aws-certificate-manager-take\/<\/a> (此选项在此处可视化: https<\/a> :\/\/i.stack.imgur.com\/RVO7y.png),例如,您可以通过 GPRS 从AT 命令<\/strong>向AWS Lambda<\/strong>执行 HTTP POST 请求。

"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM