The previous articles
discussed how to rewrite location headers. This is a complete sample for the
application gateway that achieves the following rewrite:
Demo:
curl -i -k
"https://23.99.215.80/fn/api/HttpTrigger1/?name=Ravi"
HTTP/2 202
date: Fri, 28 Jul 2023
13:35:12 GMT
content-type: text/plain;
charset=utf-8
location:
https://fn-demo-3.azurewebsites.net/
request-context:
appId=cid-v1:fafb5add-e9fb-41fc-9155-291d3695ce53
Hello, Ravi Rajamani. This
HTTP triggered function executed successfully.%
curl -i -k
"https://23.99.215.80/fn/api/HttpTrigger1/?name=Ravi"
HTTP/2 202
date: Fri, 28 Jul 2023
13:37:15 GMT
content-type: text/plain;
charset=utf-8
location:
https://fn-demo-3.azurewebsites.net
request-context:
appId=cid-v1:fafb5add-e9fb-41fc-9155-291d3695ce53
Hello, Ravi Rajamani. This
HTTP triggered function executed successfully.%
curl -i -k
"https://23.99.215.80/api/HttpTrigger1/?name=Ravi"
HTTP/2 200
date: Fri, 28 Jul 2023
13:37:24 GMT
content-type: text/plain; charset=utf-8
request-context:
appId=cid-v1:24f74c4b-1489-467a-8a11-41bb8d141d4f
Hello, Ravi. This HTTP
triggered function executed successfully.%
curl -i -k
"https://23.99.215.80/fn/api/HttpTrigger1/?name=Ravi"
HTTP/2 202
date: Fri, 28 Jul 2023
13:38:32 GMT
content-type: text/plain;
charset=utf-8
location:
https://23.99.215.80
request-context:
appId=cid-v1:fafb5add-e9fb-41fc-9155-291d3695ce53
Hello, Ravi Rajamani. This HTTP triggered function
executed successfully.%
IaC Defintion:
{
  "version":
4,
 
"terraform_version": "1.4.3",
  "serial":
1,
  "lineage":
"cab6c06f-7c91-2893-bcf4-4f421b4ed5c1",
  "outputs":
{},
 
"resources": [
    {
     
"mode": "managed",
     
"type": "azurerm_application_gateway",
     
"name": "gwy-demo-3",
     
"provider":
"provider[\"registry.terraform.io/hashicorp/azurerm\"]",
     
"instances": [
        {
         
"schema_version": 0,
         
"attributes": {
           
"authentication_certificate": [],
           
"autoscale_configuration": [
              {
               
"max_capacity": 10,
               
"min_capacity": 0
              }
            ],
           
"backend_address_pool": [
              {
               
"fqdns": [
                 
"aks-demo-3-dns-ujqod62b.hcp.centralus.azmk8s.io"
                ],
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/aks-demo-3",
                "ip_addresses": [],
               
"name": "aks-demo-3"
              },
              {
               
"fqdns": [
                 
"fn-demo-3.azurewebsites.net"
                ],
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/fn-demo-3",
               
"ip_addresses": [],
               
"name": "fn-demo-3"
              },
              {
               
"fqdns": [
                 
"fn2-demo-3.azurewebsites.net"
                ],
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/fn2-demo-3",
               
"ip_addresses": [],
               
"name": "fn2-demo-3"
              }
            ],
           
"backend_http_settings": [
              {
               
"affinity_cookie_name":
"ApplicationGatewayAffinity",
               
"authentication_certificate": [],
               
"connection_draining": [],
               
"cookie_based_affinity": "Disabled",
               
"host_name": "",
               
"id": "/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendHttpSettingsCollection/bset-demo-3",
               
"name": "bset-demo-3",
               
"path": "/",
               
"pick_host_name_from_backend_address": true,
               
"port": 443,
               
"probe_id": "",
               
"probe_name": "",
               
"protocol": "Https",
               
"request_timeout": 20,
               
"trusted_root_certificate_names": []
              }
            ],
           
"custom_error_configuration": [],
           
"enable_http2": true,
           
"fips_enabled": false,
           
"firewall_policy_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/pol-demo-3",
           
"force_firewall_policy_association": false,
           
"frontend_ip_configuration": [
              {
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/frontendIPConfigurations/appGwPublicFrontendIpIPv4",
               
"name": "appGwPublicFrontendIpIPv4",
                "private_ip_address":
"",
               
"private_ip_address_allocation": "Dynamic",
               
"private_link_configuration_id": "",
               
"private_link_configuration_name": "",
               
"public_ip_address_id": "/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/publicIPAddresses/pep-gwy-demo-3",
               
"subnet_id": ""
              }
            ],
           
"frontend_port": [
              {
               
"id": "/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/frontendPorts/port_443",
               
"name": "port_443",
               
"port": 443
              }
            ],
           
"gateway_ip_configuration": [
              {
               
"id": "/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/gatewayIPConfigurations/appGatewayIpConfig",
               
"name": "appGatewayIpConfig",
               
"subnet_id": "/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/virtualNetworks/vnet-demo-3/subnets/default"
              }
            ],
           
"global": [],
           
"http_listener": [
              {
               
"custom_error_configuration": [],
               
"firewall_policy_id": "",
               
"frontend_ip_configuration_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/frontendIPConfigurations/appGwPublicFrontendIpIPv4",
               
"frontend_ip_configuration_name":
"appGwPublicFrontendIpIPv4",
               
"frontend_port_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/frontendPorts/port_443",
               
"frontend_port_name": "port_443",
               
"host_name": "",
               
"host_names": [],
               
"id": "/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/httpListeners/list-demo-3",
               
"name": "list-demo-3",
               
"protocol": "Https",
               
"require_sni": false,
               
"ssl_certificate_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/sslCertificates/gwy-cert",
               
"ssl_certificate_name": "gwy-cert",
               
"ssl_profile_id": "",
               
"ssl_profile_name": ""
              }
            ],
           
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3",
           
"identity": [
              {
               
"identity_ids": [
                 
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/gwy-demo-3-identity"
                ],
               
"type": "UserAssigned"
              }
            ],
           
"location": "centralus",
           
"name": "gwy-demo-3",
           
"private_endpoint_connection": [],
           
"private_link_configuration": [],
            "probe": [],
           
"redirect_configuration": [],
           
"request_routing_rule": [
              {
               
"backend_address_pool_id": "",
               
"backend_address_pool_name": "",
               
"backend_http_settings_id": "",
               
"backend_http_settings_name": "",
               
"http_listener_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/httpListeners/list-demo-3",
                "http_listener_name":
"list-demo-3",
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/requestRoutingRules/rule-demo-3",
                "name": "rule-demo-3",
               
"priority": 1001,
               
"redirect_configuration_id": "",
               
"redirect_configuration_name": "",
               
"rewrite_rule_set_id": "",
               
"rewrite_rule_set_name": "",
               
"rule_type": "PathBasedRouting",
               
"url_path_map_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/urlPathMaps/rule-demo-3",
                "url_path_map_name":
"rule-demo-3"
              }
            ],
           
"resource_group_name": "rg-demo-3",
           
"rewrite_rule_set": [
              {
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/rewriteRuleSets/rewrite-demo-3",
               
"name": "rewrite-demo-3",
               
"rewrite_rule": [
                  {
                   
"condition": [
                      {
                       
"ignore_case": true,
                       
"negate": false,
                       
"pattern":
"(https?):\\/\\/.*azurewebsites\\.net(.*)$",
                       
"variable": "http_resp_Location"
                     
}
                    ],
                   
"name": "LocationRewrite",
                   
"request_header_configuration": [],
                   
"response_header_configuration": [
                     
{
                       
"header_name": "Location",
                        "header_value":
"{http_resp_Location_1}://23.99.215.80{http_resp_Location_2}"
                     
}
                    ],
                   
"rule_sequence": 100,
                   
"url": []
                  }
                ]
              }
            ],
           
"sku": [
              {
               
"capacity": 0,
               
"name": "WAF_v2",
               
"tier": "WAF_v2"
              }
            ],
           
"ssl_certificate": [
              {
               
"data": "",
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/sslCertificates/gwy-cert",
               
"key_vault_secret_id":
"https://kv-demo-3.vault.azure.net/secrets/gwy-demo-3",
               
"name": "gwy-cert",
               
"password": "",
               
"public_cert_data": ""
              }
            ],
           
"ssl_policy": [],
           
"ssl_profile": [],
           
"tags": {},
           
"timeouts": null,
           
"trusted_client_certificate": [],
           
"trusted_root_certificate": [],
           
"url_path_map": [
              {
               
"default_backend_address_pool_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/fn2-demo-3",
               
"default_backend_address_pool_name": "fn2-demo-3",
               
"default_backend_http_settings_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendHttpSettingsCollection/bset-demo-3",
                "default_backend_http_settings_name":
"bset-demo-3",
               
"default_redirect_configuration_id": "",
               
"default_redirect_configuration_name": "",
               
"default_rewrite_rule_set_id": "",
               
"default_rewrite_rule_set_name": "",
               
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/urlPathMaps/rule-demo-3",
               
"name": "rule-demo-3",
                "path_rule": [
                  {
                   
"backend_address_pool_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/fn2-demo-3",
                    "backend_address_pool_name":
"fn2-demo-3",
                   
"backend_http_settings_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendHttpSettingsCollection/bset-demo-3",
                   
"backend_http_settings_name": "bset-demo-3",
                   
"firewall_policy_id": "",
                   
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/urlPathMaps/rule-demo-3/pathRules/fn2",
                   
"name": "fn2",
                   
"paths": [
                     
"/fn2/*"
                    ],
                   
"redirect_configuration_id": "",
                   
"redirect_configuration_name": "",
                   
"rewrite_rule_set_id": "",
                   
"rewrite_rule_set_name": ""
                  },
                  {
                   
"backend_address_pool_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/aks-demo-3",
                   
"backend_address_pool_name": "aks-demo-3",
                    "backend_http_settings_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendHttpSettingsCollection/bset-demo-3",
                   
"backend_http_settings_name": "bset-demo-3",
                   
"firewall_policy_id": "",
                   
"id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/urlPathMaps/rule-demo-3/pathRules/aks",
                   
"name": "aks",
                   
"paths": [
                     
"/aks/*"
                    ],
                   
"redirect_configuration_id": "",
                   
"redirect_configuration_name": "",
                   
"rewrite_rule_set_id": "",
                   
"rewrite_rule_set_name": ""
                  },
                  {
                   
"backend_address_pool_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendAddressPools/fn-demo-3",
                   
"backend_address_pool_name": "fn-demo-3",
                   
"backend_http_settings_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/backendHttpSettingsCollection/bset-demo-3",
                   
"backend_http_settings_name": "bset-demo-3",
                   
"firewall_policy_id": "",
                    "id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/urlPathMaps/rule-demo-3/pathRules/fn",
                   
"name": "fn",
                   
"paths": [
                      "/fn/*"
                    ],
                   
"redirect_configuration_id": "",
                   
"redirect_configuration_name": "",
                   
"rewrite_rule_set_id":
"/subscriptions/abc12345-495c-475e-9349-dfb252897b9e/resourceGroups/rg-demo-3/providers/Microsoft.Network/applicationGateways/gwy-demo-3/rewriteRuleSets/rewrite-demo-3",
                   
"rewrite_rule_set_name": "rewrite-demo-3"
                  }
                ]
              }
            ],
           
"waf_configuration": [],
           
"zones": []
          },
         
"sensitive_attributes": [],
         
"private": "<encrypted_string>"
        }
      ]
    }
  ],
 
"check_results": null
}