为加密配置应用程序网关侦听器
已为 Azure 应用程序网关与后端池中的服务器之间的连接配置 SSL。 对于物流门户,需要完整的端到端加密。 若要完成此加密,还需要加密客户端发送到应用程序网关的消息。
创建前端端口
应用程序网关通过一个或多个端口接收请求。 如果要通过 HTTPS 与网关通信,则应配置 SSL 端口。 传统上,HTTPS 使用端口 443。 az network application-gateway frontend-port create
使用命令创建新的前端端口。 以下示例演示如何为端口 443 创建前端端口:
az network application-gateway frontend-port create \
--resource-group $rgName \
--gateway-name gw-shipping \
--name my-https-port \
--port 443
配置侦听器
侦听器等待进入指定前端端口上的网关的传入流量。 然后,此流量将路由到后端池中的服务器。 如果前端端口使用 SSL,则需要指示用于解密传入消息的证书。 证书包括私钥。
可以使用命令添加证书 az network application-gateway ssl-cert create
。 证书文件应采用 PFX 格式。 由于此文件包含私钥,因此它也可能受到密码保护。 在 cert-password
参数中提供密码,如以下示例所示。
az network application-gateway ssl-cert create \
--resource-group $rgName \
--gateway-name gw-shipping \
--name shipping-ssl.crt \
--cert-file shippingportal/server-config/shipping-ssl.pfx \
--cert-password <password for certificate file>
然后,可以创建从前端端口接收请求的侦听器,并使用此证书对其进行解密。 使用 az network application-gateway http-listener create
命令。
az network application-gateway http-listener create \
--resource-group $rgName \
--gateway-name gw-shipping \
--name http-listener \
--frontend-port my-https-port \
--ssl-cert shipping-ssl.crt
定义向服务器发送 HTTPS 请求的规则
最后一步是创建一个规则,用于将通过侦听器接收的消息定向到后端池中的服务器。 从前端端口接收的消息通过为侦听器指定的 SSL 证书解密。 需要使用后端池中服务器的客户端证书重新加密这些消息。 在规则中定义此信息。
以下示例演示如何使用 az network application-gateway rule create
命令创建将侦听器连接到后端池的规则。 此参数 --http-settings
指定引用服务器的客户端证书的 HTTP 设置。 你在上一单元中创建了这些设置。
az network application-gateway rule create \
--resource-group $rgName \
--gateway-name gw-shipping \
--name app-gw-rule \
--address-pool ap-backend \
--http-listener http-listener \
--http-settings https-settings \
--rule-type Basic
--priority 101
现在,应该对通过应用程序网关路由的消息进行完整的端到端加密。 客户端使用应用程序网关的 SSL 证书来发送消息。 应用程序网关使用此 SSL 证书解密这些消息。 然后,它使用后端池中服务器的证书重新加密消息。