本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂 AS2 訊息的 HTTP 標頭
傳送 AS2 訊息給交易合作夥伴時,您可能需要自訂 HTTP 標頭以符合特定需求,或增強與合作夥伴 AS2 伺服器組態的相容性。此 AWS CloudFormation 範本會建立 基礎設施,為透過 傳送的 AS2 訊息啟用自訂 HTTP 標頭 AWS Transfer Family。它設定 Amazon API Gateway 和 Lambda 函數做為代理,允許動態修改交易合作夥伴的 AS2 伺服器所需的標頭。
使用此範本執行下列動作:
-
將自訂 HTTP 標頭新增至傳出 AS2 訊息
-
使用自訂值覆寫預設標頭值
重要
覆寫預設標頭值時請小心,因為這可能會導致傳送失敗:需要一些 AS2 標頭。
-
確保與具有特定標頭要求的交易合作夥伴相容
範本概觀
範本會建立下列主要元件:
-
處理和轉送 AS2 訊息的 Lambda 函數
-
公開 Lambda 函數的 Amazon API Gateway
-
Lambda 函數的 IAM 角色和許可
-
HTTPS 支援的條件式資源
範本檔案可在此處取得:動態 HTTP 標頭範本
運作方式
-
Amazon API Gateway 接收來自 的傳入 AS2 訊息 AWS Transfer Family。
-
請求會轉送至 Lambda 函數。
-
Lambda 函數會處理請求,並視需要新增或修改標頭。
-
修改後的請求接著會轉送至合作夥伴的 AS2 伺服器。
-
來自合作夥伴伺服器的回應會透過 Lambda 和 Amazon API Gateway 傳回至 AWS Transfer Family。
主要功能
-
動態標頭修改:允許自訂主旨標頭,並新增其他必要的標頭。
-
通訊協定支援:適用於 HTTP 和 HTTPS 通訊協定。
-
彈性組態:允許合作夥伴主機、連接埠和路徑的規格。
實作詳細資訊
範本會實作下列重要元件:
Lambda 功能
解決方案的核心是 Node.js Lambda 函數,可:
-
從 Amazon API Gateway 接收請求
-
根據組態和傳入請求資料修改標頭
-
將修改後的請求轉送至合作夥伴的 AS2 伺服器
-
同時處理 HTTP 和 HTTPS 通訊協定
-
包括錯誤處理和記錄
Amazon API Gateway
HTTP API 設定為:
-
接收傳入的 AS2 訊息
-
將請求路由至 Lambda 函數
-
將回應傳回至 AWS Transfer Family
範本參數
輸入範本參數的資訊,如下所示。請注意,所有這些參數都是字串。
-
Environment
:此參數用於命名範本建立的資源:無論是用於開發或生產環境。有效值為 dev 和 prod。 -
PartnerHost
:AS2 合作夥伴伺服器的 IP 地址或主機名稱。 -
PartnerPort
:AS2 合作夥伴伺服器的連接埠號碼。如果未指定,HTTP 預設為 80,HTTPS 預設為 443。 -
PartnerPath
:合作夥伴伺服器上 AS2 端點的路徑 -
ProtocolType
:用於 AS2 通訊的通訊協定:有效值為 HTTP 和 HTTPS。
條件式資源
對於 HTTPS 支援,範本會依條件建立:
-
CA 憑證的 Lambda Layer
-
Lambda 函數中的 HTTPS 特定組態
部署和使用
使用 CloudFormation 範本自訂 AS2 HTTP 標頭
-
在 https://https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在左側導覽窗格中,選擇 Stacks (堆疊)。
-
選擇 Create stack (建立堆疊),然後選擇 With new resources (standard) (使用新資源 (標準))。
-
在先決條件 - 準備範本區段中,選擇選擇現有範本。
-
複製此連結、動態 HTTP 標頭範本
,並將其貼入 Amazon S3 URL 欄位。 -
選擇下一步。
-
將您的資訊填入參數詳細資訊。這些會在 中詳細說明範本參數。
-
選擇下一步。在設定堆疊選項頁面上,再次選擇下一步。
-
檢閱您要建立之堆疊的詳細資訊,然後選擇建立堆疊。
注意
在頁面底部的功能下,您必須確認 AWS CloudFormation 可能會建立 AWS Identity and Access Management (IAM) 資源。
部署此 AWS CloudFormation 堆疊之後:
-
請注意堆疊輸出中提供的 Amazon API Gateway 端點 URL。
-
更新現有的 AWS Transfer Family Connector 以使用此新的 Amazon API Gateway 端點。
-
解決方案現在將處理 AS2 訊息,並依設定新增或修改標頭。
警告
僅修改您的合作夥伴明確預期的主旨標頭或新增標頭。變更其他標頭可能會導致傳輸失敗。