簡體   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