为加密配置应用程序网关侦听器
你已经为 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 证书解密这些消息。 然后,它使用后端池中服务器的证书对这些消息重新加密。