自訂 AS2 訊息的 HTTP 標頭 - AWS Transfer Family

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂 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 標頭範本

運作方式

  1. Amazon API Gateway 接收來自 的傳入 AS2 訊息 AWS Transfer Family。

  2. 請求會轉送至 Lambda 函數。

  3. Lambda 函數會處理請求,並視需要新增或修改標頭。

  4. 修改後的請求接著會轉送至合作夥伴的 AS2 伺服器。

  5. 來自合作夥伴伺服器的回應會透過 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:此參數用於命名範本建立的資源:無論是用於開發或生產環境。有效值為 devprod

  • PartnerHost:AS2 合作夥伴伺服器的 IP 地址或主機名稱。

  • PartnerPort:AS2 合作夥伴伺服器的連接埠號碼。如果未指定,HTTP 預設為 80,HTTPS 預設為 443。

  • PartnerPath:合作夥伴伺服器上 AS2 端點的路徑

  • ProtocolType:用於 AS2 通訊的通訊協定:有效值為 HTTPHTTPS

條件式資源

對於 HTTPS 支援,範本會依條件建立:

  • CA 憑證的 Lambda Layer

  • Lambda 函數中的 HTTPS 特定組態

部署和使用

使用 CloudFormation 範本自訂 AS2 HTTP 標頭
  1. 在 https://https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 在左側導覽窗格中,選擇 Stacks (堆疊)

  3. 選擇 Create stack (建立堆疊),然後選擇 With new resources (standard) (使用新資源 (標準))。

  4. 先決條件 - 準備範本區段中,選擇選擇現有範本

  5. 複製此連結、動態 HTTP 標頭範本,並將其貼入 Amazon S3 URL 欄位。

  6. 選擇下一步

  7. 將您的資訊填入參數詳細資訊。這些會在 中詳細說明範本參數

  8. 選擇下一步。在設定堆疊選項頁面上,再次選擇下一步

  9. 檢閱您要建立之堆疊的詳細資訊,然後選擇建立堆疊

    注意

    在頁面底部的功能下,您必須確認 AWS CloudFormation 可能會建立 AWS Identity and Access Management (IAM) 資源。

部署此 AWS CloudFormation 堆疊之後:

  1. 請注意堆疊輸出中提供的 Amazon API Gateway 端點 URL。

  2. 更新現有的 AWS Transfer Family Connector 以使用此新的 Amazon API Gateway 端點。

  3. 解決方案現在將處理 AS2 訊息,並依設定新增或修改標頭。

警告

僅修改您的合作夥伴明確預期的主旨標頭或新增標頭。變更其他標頭可能會導致傳輸失敗。