針對加密設定後端集區
後端集區包含實作應用程式的伺服器。 Azure 應用程式閘道會將要求路由至這些伺服器,並可以在這些伺服器間針對流量進行負載平衡。
在貨運入口網站中,後端集區的應用程式伺服器必須使用 SSL 來加密應用程式閘道和後端集區伺服器之間傳輸的資料。 應用程式閘道使用具有公開金鑰的 SSL 憑證來加密資料。 伺服器使用對應的私密金鑰,在接收到資料時進行解密。 在本單元中,您會了解如何在應用程式閘道中建立後端集區及安裝必要的憑證。 這些憑證有助於保護傳送至後端集區及從中傳送的訊息。
從應用程式閘道到後端集區的加密
後端集區可以參考個別虛擬機器、虛擬機器擴展集、真實電腦的 IP 位址 (內部部署或遠端執行),或透過 Azure App Service 裝載的服務。 後端集區中的所有伺服器都應使用相同方式進行設定,包括其安全性設定。
若導向後端集區的流量受到 SSL 保護,則後端集區中的每個伺服器都必須提供適當憑證。 基於測試目的,您可以建立自我簽署憑證。 在實際執行環境中,您應該一律產生或購買可由憑證授權單位 (CA) 驗證的憑證。
應用程式閘道目前有兩個版本:v1 和 v2。 其功能相似,但是有稍微不同的實作詳細資料。 V2 版本可提供更多功能和效能改善。
應用程式閘道 v1 中的憑證設定
應用程式閘道 v1 要求您針對閘道設定中的伺服器安裝驗證憑證。 應用程式閘道可用此憑證包含的公開金鑰加密訊息,並驗證您的伺服器。 此憑證可以透過從伺服器匯出來建立。 應用程式伺服器使用對應的私密金鑰來解密這些訊息。 此私密金鑰應該僅儲存在您的應用程式伺服器中。
您可以使用 Azure CLI 的 az network application-gateway auth-cert create
命令,將驗證憑證新增至應用程式閘道。 下列範例說明此命令的語法。 憑證格式應為 CER (宣告、證據和推理)。
az network application-gateway auth-cert create \
--resource-group <resource group name> \
--gateway-name <application gateway name> \
--name <certificate name> \
--cert-file <path to authentication certificate>
應用程式閘道提供您可用來列出並管理驗證憑證的其他命令。 例如:
az network application-gateway auth-cert list
命令會顯示已安裝的憑證。- 您可以使用
az network application-gateway auth-cert update
命令來變更憑證。 az network application-gateway auth-cert delete
命令會移除憑證。
應用程式閘道 v2 中的憑證設定
應用程式閘道 v2 的驗證要求略為不同。 您需要將憑證提供給已驗證後端集區伺服器 SSL 憑證的授權單位 (CA)。 將此憑證新增至應用程式閘道,作為受信任的根憑證。 使用 Azure CLI 的 az network application-gateway root-cert create
命令。
az network application-gateway root-cert create \
--resource-group <resource group name> \
--gateway-name <application gateway name> \
--name <certificate name> \
--cert-file <path to trusted CA certificate>
如果您的伺服器使用自我簽署憑證,請將此憑證新增為應用程式閘道中受信任的根憑證。
HTTP 設定
應用程式閘道使用規則來指定如何將傳入連接埠上接收到的訊息導向後端集區中的伺服器。 若伺服器使用 SSL,您必須設定規則來指出:
- 伺服器預期收到透過 HTTPS 通訊協定傳送的流量。
- 要使用哪個憑證來加密流量及驗證對伺服器的連線。
您可以使用 HTTP 設定來定義此設定資訊。
您可以使用 Azure CLI 中的 az network application-gateway http-settings create
命令來定義 HTTP 設定。 下列範例說明建立設定的語法,此設定使用 HTTPS 通訊協定將流量路由至後端集區伺服器上的連接埠 443。 若您使用應用程式閘道 v1,--auth-certs
參數便是您先前新增至應用程式閘道的驗證憑證名稱。
az network application-gateway http-settings create \
--resource-group <resource group name> \
--gateway-name <application gateway name> \
--name <HTTPS settings name> \
--port 443 \
--protocol Https \
--auth-certs <certificate name>
若您使用應用程式閘道 v2,請省略 --auth-certs
參數。 應用程式閘道會與後端伺服器連絡。 其依據受信任的根憑證清單所指定的 CA,驗證伺服器所出示憑證的真確性。 如果沒有相符的項目,則應用程式閘道不會連線到後端伺服器,並會出現 HTTP 502 (閘道錯誤) 錯誤。