Todos os produtos
Search
Central de documentação

CDN:Variáveis integradas do EdgeScript

Última atualização: Oct 09, 2026

As variáveis integradas do EdgeScript mapeiam variáveis do NGINX, concedendo acesso somente leitura a propriedades da requisição: URI, parâmetros de consulta, cabeçalhos, cookies, IP do cliente e protocolo.

As variáveis integradas são de somente leitura. Não atribua valores a elas.

O prefixo $ (cifrão) identifica uma variável como integrada. Omita o prefixo $ caso a lógica de negócios exija.

Limite de variáveis

Um único script suporta no máximo 200 variáveis. Se a regra exigir mais, divida a lógica em várias funções definidas pelo usuário, cada uma com no máximo 200 variáveis. Consulte Divisão de função para obter um exemplo.

Tratamento de hifens em nomes de variáveis

Três variáveis integradas — $arg_{name}, $http_{name} e $cookie_{name} — usam o espaço reservado {name} para uma chave da string de consulta, campo do cabeçalho da requisição ou campo de cookie. Cada uma trata os hifens de maneira diferente:

Variável

Tratamento de hifens

$arg_{name}

Se {name} contiver um hífen, use req_uri_arg('{name}') em vez disso. Exemplo: req_uri_arg('example-demo') para ?example-demo=123

$http_{name}

Substitua os hifens por sublinhados. Exemplo: $http_x_user_id para o cabeçalho X-USER-ID

$cookie_{name}

Se {name} contiver um hífen, use req_cookie('{name}') em vez disso. Exemplo: req_cookie('example-demo') para cookie: example-demo=123

Variáveis integradas

Variável

Retorna

Variável do NGINX

$arg_{name}

Valor da chave {name} na string de consulta

$arg_

$http_{name}

Valor do campo {name} no cabeçalho da requisição

$http_

$cookie_{name}

Valor do campo {name} no cabeçalho de cookie da requisição

$cookie_

$scheme

Tipo de protocolo

$scheme

$server_protocol

Versão do protocolo

$server_protocol

$host

Host original

$host

$uri

URI original

Nenhuma

$args

Todos os parâmetros da string de consulta, excluindo o ? inicial

$args

$request_method

Método da requisição

$request_method

$request_uri

URI completa da requisição, equivalente a uri + '?' + args

$request_uri

$remote_addr

O endereço IP do cliente (ou seja, o primeiro endereço IP presente no cabeçalho de requisição X-Forwarded-For).

$remote_addr

Exemplo: $arg_{name} e $args

Para a requisição http://example.aliyundoc.com/1k.file?k1=v1&k2=v2:

  • $arg_k1 retorna v1

  • $args retorna k1=v1&k2=v2 (a string de consulta completa, sem o ?)

Divisão de função

Quando uma regra contém mais de 200 variáveis, divida a função original em várias funções definidas pelo usuário. Cada função definida pelo usuário deve conter no máximo 200 variáveis.

#If variables exceed the limit, split them like this:
def judeg_arg() {
  #Parameter judgment related logic
  x
  x
}

def judeg_time() {
  #Time judgment related logic
  x
  x
}

def judeg_token() {
  #Encryption judgment related logic
  x
  x
}

judeg_arg()
judeg_time()
judeg_token()