Partilhar via


Variáveis de servidor do conjunto de Regras de Porta de Entrada do Azure

As variáveis de servidor do conjunto de regras fornecem acesso a informações estruturadas sobre a solicitação quando você trabalha com conjuntos de regras.

Quando você usa condições de correspondência do conjunto de regras, as variáveis de servidor ficam disponíveis como condições de correspondência para que você possa identificar solicitações com propriedades específicas.

Ao usar ações de conjunto de regras, você pode usar variáveis de servidor para alterar dinamicamente os cabeçalhos de solicitação e resposta e reescrever URLs, caminhos e cadeias de caracteres de consulta, por exemplo, quando uma nova página é carregada ou quando um formulário é postado.

Nota

As variáveis de servidor estão disponíveis com as camadas Azure Front Door Standard e Premium.

Variáveis suportadas

Nome da variável Description
socket_ip O endereço IP da conexão direta com a borda da Porta da Frente do Azure. Se o cliente usou um proxy HTTP ou um balanceador de carga para enviar a solicitação, o valor de é o endereço IP do proxy ou balanceador de socket_ip carga.
Para acessar essa variável de servidor em uma condição de correspondência, use o endereço do soquete.
client_ip O endereço IP do cliente que fez a solicitação original. Se houver um X-Forwarded-For cabeçalho na solicitação, o endereço IP do cliente será escolhido no cabeçalho.
Para acessar essa variável de servidor em uma condição de correspondência, use o endereço remoto e configure o operador para IP Match ou IP Not Match.
client_port A porta IP do cliente que fez a solicitação.
Para acessar essa variável de servidor em uma condição de correspondência, use a porta do cliente.
hostname O nome do host na solicitação do cliente.
Para acessar essa variável de servidor em uma condição de correspondência, use Nome do host.
geo_country Indica o país/região de origem do solicitante por meio de seu código de país/região.
Para acessar essa variável de servidor em uma condição de correspondência, use o endereço remoto e configure o operador para Geo Match ou Geo Not Match.
http_method O método usado para fazer a solicitação de URL, como GET ou POST.
Para acessar essa variável de servidor em uma condição de correspondência, use o método Request.
http_version O protocolo de solicitação. Geralmente HTTP/1.0, HTTP/1.1, ou HTTP/2.0.
Para acessar essa variável de servidor em uma condição de correspondência, use a versão HTTP.
query_string A lista de pares de variáveis/valores que se segue ao ? URL solicitado.
Por exemplo, na solicitação http://contoso.com:8080/article.aspx?id=123&title=fabrikam, o query_string valor é id=123&title=fabrikam.
Para acessar essa variável de servidor em uma condição de correspondência, use a cadeia de caracteres de consulta.
request_scheme O esquema de solicitação: http ou https.
Para acessar essa variável de servidor em uma condição de correspondência, use o protocolo Request.
request_uri O URI de solicitação original completo (com argumentos).
Por exemplo, na solicitação http://contoso.com:8080/article.aspx?id=123&title=fabrikam, o request_uri valor é http://contoso.com:8080/article.aspx?id=123&title=fabrikam.
Para acessar essa variável de servidor em uma condição de correspondência, use URL de solicitação.
ssl_protocol O protocolo de uma conexão TLS estabelecida.
Para acessar essa variável de servidor em uma condição de correspondência, use o protocolo SSL.
server_port A porta do servidor que aceitou uma solicitação.
Para acessar essa variável de servidor em uma condição de correspondência, use a porta do servidor.
url_path Identifica o recurso específico no host que o cliente da Web deseja acessar. Esta é a parte do URI da solicitação sem os argumentos ou a barra principal.
Por exemplo, na solicitação http://contoso.com:8080/article.aspx?id=123&title=fabrikam, o url_path valor é article.aspx.
O Azure Front Door dá suporte à captura dinâmica do caminho da URL com {url_path:seg#} a variável de servidor e converte o caminho da URL em minúsculas ou maiúsculas com {url_path.tolower} ou {url_path.toupper}. Para obter mais informações, consulte Formato da variável de servidor e Variáveis de servidor.
Para acessar essa variável de servidor em uma condição de correspondência, use a condição de caminho de solicitação.

Formato da variável de servidor

Ao trabalhar com ações de Conjunto de Regras, especifique variáveis de servidor usando os seguintes formatos:

  • {variable}: Inclua toda a variável de servidor. Por exemplo, se o endereço IP do cliente for 111.222.333.444 , o {client_ip} token será avaliado como 111.222.333.444.

  • {variable:offset}: Inclua a variável de servidor após um deslocamento específico, até o final da variável. O deslocamento é baseado em zero. Por exemplo, se o endereço IP do cliente for 111.222.333.444 , o {client_ip:3} token será avaliado como .222.333.444.

  • {variable:offset:length}: Inclua a variável de servidor após um deslocamento específico, até o comprimento especificado. O deslocamento é baseado em zero. Por exemplo, por exemplo, quando a variável var é 'AppId=01f592979c584d0f9d679db3e66a3e5e',

    • Compensações dentro do intervalo, sem comprimentos: {var:0} = AppId=01f592979c584d0f9d679db3e66a3e5e, , {var:6} = 01f592979c584d0f9d679db3e66a3e5e{var:-8} = e66a3e5e
    • Deslocamentos fora do intervalo, sem comprimentos: {var:-128} = AppId=01f592979c584d0f9d679db3e66a3e5e, {var:128} = nulo
    • Deslocamentos e comprimentos dentro do intervalo: {var:0:5} = AppId, , {var:7:7} = 1f59297{var:7:-7} = 1f592979c584d0f9d679db3e
    • Comprimentos zero: {var:0:0} = nulo, {var:4:0} = nulo
    • Deslocamentos dentro do intervalo e comprimentos fora do intervalo: {var:0:100}AppId=01f592979c584d0f9d679db3e66a3e5e = ,=01f592979c584d0f9d679db3e66a3e5e = {var:5:100} , {var:0:-48} = null, {var:4:-48} = null
  • {url_path:seg#}: Permita que os usuários capturem e usem o segmento de caminho de URL desejado em Redirecionamento de URL, Regravação de URL ou qualquer ação significativa. O usuário também pode capturar vários segmentos usando o mesmo estilo da captura {url_path:seg1:3}de substring. Por exemplo, para um padrão /id/12345/default de origem e um Destino /{url_path:seg1}/homede reconfiguração de URL, o caminho de URL esperado após a regravação é /12345/home. Para uma captura de vários segmentos, quando o padrão de origem é /id/12345/default/location/test, um destino /{url_path:seg1:3}/home de regravação de URL resulta em /12345/default/location/home. A captura de segmento inclui o caminho de localização, portanto, se a rota for /match/*, o segmento 0 será correspondente.

    Deslocamento corresponde ao índice do segmento inicial, e comprimento refere-se a quantos segmentos capturar, incluindo aquele em índice = offset.

    Supondo que o deslocamento e o comprimento sejam positivos, aplica-se a seguinte lógica:

    • Se o comprimento não estiver incluído, capture o segmento em index = offset.
    • Quando o comprimento estiver incluído, capture segmentos de índice = deslocamento até índice = deslocamento + comprimento.

    Os seguintes casos especiais também são tratados:

    • Se o deslocamento for negativo, conte para trás a partir do final do caminho para obter o segmento inicial.
    • Se offset for um valor negativo maior ou igual ao número de segmentos, defina como 0.
    • Se o deslocamento for maior que o número de segmentos, o resultado estará vazio.
    • Se o comprimento for 0, o retorno do segmento único especificado pelo deslocamento
    • Se o comprimento for negativo, trate-o como um segundo deslocamento e calcule para trás a partir do final do caminho. Se o valor for menor que offset, isso resultará em uma cadeia de caracteres vazia.
    • Se o comprimento for maior que o número de segmentos, retorne o que resta no caminho.
  • {url_path.tolower}/{url_path.toupper}: Converta o caminho do URL em minúsculas ou maiúsculas. Por exemplo, um destino {url_path.tolower} em regravação/redirecionamento de URL para /lowercase/ABcDXyZ/EXAMPLE resultados em /lowercase/abcdxyz/example. Um destino {url_path.toupper} em regravação/redirecionamento de URL para /ABcDXyZ/example resultados em /ABCDXYZ/EXAMPLE.

Ações suportadas do conjunto de regras

As variáveis de servidor são suportadas nas seguintes ações do conjunto de regras:

Próximos passos