

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

# VPC Lattice 服務的 HTTPS 接聽程式
<a name="https-listeners"></a>

接聽程式是檢查連線請求的程序。您可以在建立服務時定義接聽程式。您可以隨時在 VPC Lattice 中將接聽程式新增至服務。

您可以建立 HTTPS 接聽程式，該接聽程式使用 TLS 1.2 版或 TLS 1.3 版直接終止與 VPC Lattice 的 HTTPS 連線。VPC Lattice 將佈建和管理與 VPC Lattice 產生的完整網域名稱 (FQDN) 相關聯的 TLS 憑證。VPC Lattice 支援 HTTP/1.1 和 HTTP/2 上的 TLS。當您使用 HTTPS 接聽程式設定服務時，VPC Lattice 會透過應用程式層通訊協定交涉 (ALPN) 自動判斷 HTTP 通訊協定。如果沒有 ALPN，VPC Lattice 會預設為 HTTP/1.1。

VPC Lattice 使用多租用戶架構，這表示它可以在相同的端點上託管多個服務。VPC Lattice 會針對每個用戶端請求使用 TLS 搭配伺服器名稱指示 (SNI)。不支援加密的用戶端 Hello (ECH) 和加密的伺服器名稱指示 (ESNI)。

VPC Lattice 可以在 HTTP、HTTPS、HTTP/1.1 和 HTTP/2 上接聽，並與這些通訊協定和版本中的任何目標通訊。這些接聽程式和目標群組組態不需要相符。VPC Lattice 會管理通訊協定和版本之間升級和降級的整個程序。如需詳細資訊，請參閱[通訊協定版本](target-groups.md#target-group-protocol-version)。

為了確保您的應用程式解密流量，請改為建立 TLS 接聽程式。透過 TLS 傳遞，VPC Lattice 不會終止 TLS。如需詳細資訊，請參閱[TLS 接聽程式](tls-listeners.md)。

**Contents**
+ [安全政策](#listener-security-policy)
+ [ALPN 政策](#listener-alpn-policy)
+ [新增 HTTPS 接聽程式](#add-https-listener)

## 安全政策
<a name="listener-security-policy"></a>

VPC Lattice 使用安全政策，該政策是 TLSv1.2 通訊協定和 SSL/TLS 密碼清單的組合。通訊協定會在用戶端與伺服器之間建立安全連線，並協助確保用戶端與 VPC Lattice 中的服務之間傳遞的所有資料皆為私有。密碼是一種加密演算法，使用加密金鑰來建立編碼的訊息。通訊協定使用多個密碼來加密資料。在連線交涉程序期間，用戶端和 VPC Lattice 會依偏好順序，提供他們各自支援的加密和通訊協定清單。在預設情況下，將針對安全連線選取伺服器清單上符合任何用戶端加密的第一個加密。

VPC Lattice 依此偏好順序使用下列 TLS 1.2 SSL/TLS 密碼：
+ `ECDHE-RSA-AES128-GCM-SHA256`
+ `ECDHE-RSA-AES128-SHA`
+ `ECDHE-RSA-AES256-GCM-SHA384`
+ `ECDHE-RSA-AES256-SHA`
+ `AES128-GCM-SHA256`
+ `AES128-SHA`
+ `AES256-GCM-SHA384`
+ `AES256-SHA`

VPC Lattice 也會依此偏好順序使用下列 TLS 1.3 SSL/TLS 密碼：
+ `TLS_AES_128_GCM_SHA256`
+ `TLS_AES_256_GCM_SHA384`
+ `TLS_CHACHA20_POLY1305_SHA256`

## ALPN 政策
<a name="listener-alpn-policy"></a>

*應用程式層通訊協定交涉 (ALPN)* 是在初始 TLS 交握 hello 訊息上傳送的 TLS 延伸。ALPN 使應用程式層能夠協商哪些通訊協定的使用透過安全的連接 (如 HTTP/1 和 HTTP/2) 來進行。

當用戶端啟動 ALPN 連線時，VPC Lattice 服務會將用戶端 ALPN 偏好設定清單與其 ALPN 政策進行比較。如果用戶端支援來自 ALPN 政策的通訊協定，VPC Lattice 服務會根據 ALPN 政策的偏好設定清單建立連線。否則，服務不會使用 ALPN。

VPC Lattice 支援下列 ALPN 政策：

`HTTP2Preferred`  
偏好 HTTP/2 over HTTP/1.1。ALPN 偏好設定清單為 h2、http/1.1。

## 新增 HTTPS 接聽程式
<a name="add-https-listener"></a>

您可以使用通訊協定和連接埠來設定接聽程式，以便從用戶端連線至 服務，並為預設接聽程式規則設定目標群組。如需詳細資訊，請參閱[接聽程式組態](listeners.md#listener-configuration)。

**先決條件**
+ 若要將轉送動作新增至預設接聽程式規則，您必須指定可用的 VPC Lattice 目標群組。如需詳細資訊，請參閱[建立 VPC Lattice 目標群組](create-target-group.md)。
+ 您可以在多個接聽程式中指定相同的目標群組，但這些接聽程式必須屬於相同的 VPC Lattice 服務。若要搭配 VPC Lattice 服務使用目標群組，您必須確認接聽程式未將其用於任何其他 VPC Lattice 服務。
+ 您可以使用 VPC Lattice 提供的憑證，或將您自己的憑證匯入至其中 AWS Certificate Manager。如需詳細資訊，請參閱[為 VPC Lattice 自備憑證 (BYOC)](service-byoc.md)。

**使用主控台新增 HTTPS 接聽程式**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中的 **VPC Lattice** 下，選擇**服務**。

1. 選取服務的名稱以開啟其詳細資訊頁面。

1. 在**路由**索引標籤上，選擇**新增接聽程式**。

1. 對於**接聽程式名稱**，您可以提供自訂接聽程式名稱，或使用接聽程式的通訊協定和連接埠做為接聽程式名稱。您指定的自訂名稱最多可有 63 個字元，且您帳戶中的每個服務都必須是唯一的。有效字元為 a-z、0-9 和連字號 (-)。您不能使用連字號做為第一個或最後一個字元，或緊接在另一個連字號之後。您無法在建立接聽程式之後變更接聽程式的名稱。

1. 針對**通訊協定：連接埠**，選擇 **HTTPS**，然後輸入連接埠號碼。

1. 針對**預設動作**，選擇 VPC Lattice 目標群組以接收流量，然後選擇要指派給此目標群組的權重。您指派給目標群組的權重會將優先順序設定為接收流量。例如，如果兩個目標群組具有相同的權重，則每個目標群組都會接收一半的流量。如果您只指定一個目標群組，則 100% 的流量會傳送到一個目標群組。

   您可以選擇性地為預設動作新增另一個目標群組。選擇**新增動作**，然後選擇目標群組並指定其權重。

1. （選用） 若要新增另一個規則，請選擇**新增規則**，然後輸入規則的名稱、優先順序、條件和動作。

   您可以為每個規則提供介於 1 到 100 之間的優先順序數字。接聽程式不能擁有多個優先順序相同的規則。依優先順序評估規則，從最低值到最高值。預設規則最後評估。如需詳細資訊，請參閱[接聽程式規則](listener-rules.md)。

1. （選用） 若要新增標籤，請展開**接聽程式標籤**，選擇新增標籤，然後輸入標籤索引鍵和標籤值。

1. 對於 **HTTPS 接聽程式憑證設定**，如果您未在建立服務時指定自訂網域名稱，VPC Lattice 會自動產生 TLS 憑證，以保護流經接聽程式的流量。

   如果您使用自訂網域名稱建立服務，但未指定相符的憑證，則現在可以從**自訂 SSL/TLS 憑證**中選擇憑證來執行此操作。否則，您在建立服務時指定的憑證已選擇。

1. 檢閱您的組態，然後選擇**新增**。

**使用 新增 HTTPS 接聽程式 AWS CLI**  
使用 [create-listener](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-listener.html) 命令來建立具有預設規則的接聽程式，並使用 [create-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-rule.html) 命令來建立其他接聽程式規則。