Application Gateway 수신기의 암호화 구성

완료됨

Azure Application Gateway와 백 엔드 풀의 서버 간 연결에 SSL을 구성했습니다. 배송 포털의 경우 완전한 엔드투엔드 암호화가 필요합니다. 이 암호화를 수행하려면 클라이언트가 Application Gateway로 보내는 메시지도 암호화해야 합니다.

프런트 엔드 포트 만들기

Application Gateway는 하나 이상의 포트를 통해 요청을 수신합니다. 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

이제 Application Gateway를 통해 라우팅된 메시지의 엔드투엔드 암호화를 완료해야 합니다. 클라이언트는 Application Gateway의 SSL 인증서를 사용하여 메시지를 보냅니다. Application Gateway는 이 SSL 인증서를 사용하여 이러한 메시지를 해독합니다. 그런 다음, 백 엔드 풀의 서버에 대한 인증서를 사용하여 메시지를 다시 암호화합니다.