Resposta HTTP 304 na sessão de rastreamento

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Sintoma

No Edge para a nuvem privada, ao rastrear uma API na interface do Edge, você verá uma resposta HTTP 304 na coluna Status da janela de rastreamento:

Mensagens de erro

Não há mensagens de erro - a chamada de proxy de API retorna um erro resposta, como um HTTP 200. No entanto, a janela de rastreamento na interface do Edge exibe uma resposta HTTP 304 e nenhum dado de trace é coletado.

Causas possíveis

No Edge para a nuvem privada, a interface do Edge está tentando rastrear um proxy de API acessados por um endereço IP particular.

A ferramenta de rastreamento na interface do Edge envia solicitações de API para qualquer URL. Em um cenário de implantação em que a interface do Edge é co-hospedada com outros serviços, um usuário mal-intencionado pode fazer uso indevido da ferramenta de rastreamento por um endereço IP particular, como localhost ou 127.0.0.1.

Em um ambiente de produção, você costuma deixar o padrão como está para evitar os usuários não consigam rastrear um endereço IP particular. Por exemplo, é assim que a versão pública da interface do Edge é implantado.

No entanto, para um ambiente de teste ou desenvolvimento interno, é possível modificar esse padrão para permitir que os desenvolvedores de API rastreiem qualquer endereço IP. Normalmente, um ambiente de desenvolvimento/teste está protegido por um firewall permitir o acesso público.

Observação : recomendamos deixar o padrão como está. para impedir o acesso de traces a endereços IP particulares, mesmo em um ambiente de desenvolvimento/teste, a menos que você tenha que ativá-lo.

Causa: tentativa de acessar um proxy de API por um endereço IP particular

Por padrão, a interface do Edge para a nuvem privada impede que os usuários chamadas de API de rastreamento feitas por endereços IP particulares. A lista de endereços IP particulares inclui:

  • Endereço de loopback (127.0.0.1 ou localhost)
  • Endereços site-local (para IPv4: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Qualquer endereço local (qualquer endereço resolvido para localhost)

Por exemplo, o comando curl a seguir faz uma chamada a um proxy de API usando um endereço IP de 127.0.0.1, que é considerado um endereço IP privado:

curl http://127.0.0.1:9001/myapiproxy

Na janela de rastreamento dessa chamada, você verá uma resposta HTTP 304 mesmo que o comando curl tenha retornado.

Resolução

Para permitir que a interface do Edge rastreie endereços IP particulares para o Edge para o Nuvem privada, defina o seguinte token em ui.properties:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Para definir essa propriedade:

  1. Abra o arquivo ui.properties em um editor. Se o arquivo não existe, crie-o.
    vi /opt/apigee/customer/application/ui.properties
  2. Defina as seguintes propriedades como "true":
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. Salve as alterações em ui.properties.
  4. Verifique se o arquivo de propriedades é de propriedade da Apigee usuário:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Reinicie a interface do Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

A interface do Edge agora pode acessar endereços IP particulares na ferramenta de trace.

Para desativar posteriormente o rastreamento de solicitações pela interface usando endereços IP particulares, faça o seguinte: edite ui.properties para definir a propriedade como false. e reinicie a interface do Edge.

Para mais informações, acesse Como permitir o acesso da interface de usuário de borda a endereços IP locais.