Como configurar o cabeçalho "ignore ignorar" para a propriedade 405 nos processadores de mensagens

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

Na comunicação cliente-servidor, o servidor responderá com o código de status HTTP 405 Method Not Allowed se a O método de solicitação HTTP apresentado pelo cliente é conhecido pelo servidor mas não tem suporte do recurso de destino. Da mesma forma, no Apigee Edge, o servidor de back-end pode Responda com o código de status HTTP 405 Method Not Allowed.

O Apigee Edge espera que o servidor de back-end envie respostas 405 Method Not Allowed com a lista de métodos permitidos no cabeçalho Allow, de acordo com a especificação RFC 7231, seção 6.5.5: método 405 não permitido.

O cabeçalho Allow precisa ser enviado no seguinte formato:

Allow: HTTP_METHODS

Por exemplo, se o servidor de back-end permitir GET, POST e HEAD, é necessário garantir que o cabeçalho Allow contenha esses métodos da seguinte forma:

Allow: GET, POST, HEAD

Se o servidor de back-end não enviar o cabeçalho Allow com o código de status HTTP 405 Method Not Allowed,, a Apigee retorna o código de status HTTP 502 Bad Gateway com o código de erro protocol.http.Response405WithoutAllowHeader para a aplicativo cliente. A solução recomendada para resolver esse erro é corrigir o servidor de back-end para que ele cumpra as especificações RFC 7231, seção 6.5.5: Método 405 não permitido ou use o tratamento de falhas para Responda com o código de status HTTP 405 Method Not Allowed, incluindo o Cabeçalho Allow conforme explicado no manual de solução de problemas 502 Gateway inválido - Resposta 405 sem cabeçalho "Permitir".

No entanto, em alguns casos excepcionais, talvez não seja possível corrigir o back-end ou modificar os proxy de API para resolver esse problema imediatamente.

Nesses casos, você pode definir o cabeçalho "ignorar permissão" para a propriedade 405. HTTP.ignore.allow_header.for.405 em Nível do processador de mensagens temporariamente. Definir essa propriedade como true impede a Apigee de retornar a resposta 502 Bad Gateway para aplicativos clientes mesmo que o o servidor de back-end envia o código de status HTTP 405 Method Not Allowed sem a Allow.

Quando você puder corrigir o servidor de back-end para enviar o código de status HTTP 405 Method Not Allowed com o cabeçalho Allow, será possível reverter a propriedade HTTP.ignore.allow_header.for.405 para o valor padrão false.

Antes de começar

Antes de usar as etapas deste documento, é preciso entender os seguintes tópicos:

Configurar o cabeçalho "ignorar permissão" da propriedade 405 como verdadeiro em processadores de mensagens

No Apigee Edge, a propriedade HTTP.ignore.allow_header.for.405 está definida como false, por padrão. Isso permite que o Apigee Edge retorne o 502 Bad Gateway com o código de erro protocol.http.Response405WithoutAllowHeader para o aplicativos clientes se o servidor de back-end enviar o código de status HTTP 405 Method Not Allowed sem o cabeçalho Allow. Se você quiser impedir que o Apigee Edge enviando 502 Bad Gateway para aplicativos clientes, é necessário definir o valor do a propriedade HTTP.ignore.allow_header.for.405 como true na mensagem Processadores.

Nesta seção, explicamos como configurar a propriedade De HTTP.ignore.allow_header.for.405 a true no Processadores de mensagens, que usam o token conforme a sintaxe descrita em Como configurar o Edge.

  1. Na máquina do processador de mensagens, abra o arquivo a seguir em um editor. Se não já existe, então crie-o.

    /opt/apigee/customer/application/message-processor.properties
    

    Por exemplo, para abrir o arquivo usando vi, digite o seguinte:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Adicione uma linha no seguinte formato ao arquivo de propriedades:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  3. Salve as alterações.
  4. Verifique se o arquivo de propriedades pertence ao usuário apigee, conforme mostrado abaixo:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicie o processador de mensagens conforme mostrado abaixo:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Se você tiver mais de um processador de mensagens, repita as etapas acima em todas Processadores.

A verificação do cabeçalho "ignorar permissão" para a propriedade 405 está definido como verdadeiro em processadores de mensagem

Nesta seção, explicamos como verificar se a propriedade HTTP.ignore.allow_header.for.405 foi atualizado para true nos processadores de mensagens.

Mesmo que você use o token conf_http_HTTP.ignore.allow_header.for.405 para atualizar o valor da propriedade no processador de mensagens, você precisa verificar se a propriedade real HTTP.ignore.allow_header.for.405 foi definido como true.

  1. Na máquina do processador de mensagens, pesquise a propriedade HTTP.ignore.allow_header.for.405 no /opt/apigee/edge-message-processor/conf e verifique se ele foi definido como true, conforme mostrado abaixo:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Se a propriedade tiver sido atualizada no processador de mensagens, o comando acima deve mostrar o valor da propriedade HTTP.ignore.allow_header.for.405 como true no arquivo http.properties, conforme mostrado abaixo:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. Se você ainda vir o valor da propriedade HTTP.ignore.allow_header.for.405 como false e verifique se você seguiu todas as etapas descritas A configuração do cabeçalho de ignorar a permissão para a propriedade 405 como verdadeira em Processadores de mensagens corretamente Se você perdeu alguma etapa, repita todas elas novamente. corretamente.
  4. Se você ainda não conseguir modificar a propriedade HTTP.ignore.allow_header.for.405 e entre em contato com o suporte do Apigee Edge.

Configurar o cabeçalho "ignorar permissão" da propriedade 405 como "false" em processadores de mensagem

Nesta seção, explicamos como configurar a propriedade HTTP.ignore.allow_header.for.405 para o valor padrão false no processador de mensagens, usando o token de acordo com a sintaxe descrita em Como configurar o Edge (em inglês).

  1. Verifique se a propriedade HTTP.ignore.allow_header.for.405 foi modificada para true. Para fazer isso, pesquise esta propriedade no diretório /opt/apigee/edge-message-processor/conf e verificando usando o seguinte comando:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Se a propriedade estiver definida como true no processador de mensagens, o comando acima deve mostrar o valor da propriedade HTTP.ignore.allow_header.for.405 como true no arquivo http.properties, conforme mostrado abaixo:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. Se o comando acima mostrar que a propriedade HTTP.ignore.allow_header.for.405 for definido como false (valor padrão), você não precisará fazer mais nada. Ou seja, pule as próximas etapas.
  4. Se a propriedade HTTP.ignore.allow_header.for.405 for definida como true, Em seguida, execute as etapas a seguir para reverter para o valor padrão false.
  5. Na máquina do processador de mensagens, abra o arquivo a seguir em um editor:

    /opt/apigee/customer/application/message-processor.properties
    

    Por exemplo, para abrir o arquivo usando vi, digite o seguinte:

    vi /opt/apigee/customer/application/message-processor.properties
    
  6. Remova a linha a seguir do arquivo de propriedades:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  7. Salve as alterações.
  8. Verifique se o arquivo de propriedades pertence ao usuário apigee, conforme mostrado abaixo:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  9. Reinicie o processador de mensagens conforme mostrado abaixo:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  10. Se você tiver mais de um processador de mensagens, repita as etapas acima em todas Processadores.

A verificação do cabeçalho "ignorar permissão" para a propriedade 405 está definida como "false" em processadores de mensagem

Nesta seção, explicamos como verificar se a propriedade HTTP.ignore.allow_header.for.405 foi atualizado para false nos processadores de mensagens.

Mesmo que você use o token conf_http_HTTP.ignore.allow_header.for.405 para atualizar o valor na mensagem. Processador, é necessário verificar se a propriedade HTTP.ignore.allow_header.for.405 foi definido como false.

  1. Na máquina do processador de mensagens, pesquise a propriedade HTTP.ignore.allow_header.for.405 no diretório /opt/apigee/edge-message- processor/conf e verifique se ele foi definido como false, conforme mostrado. abaixo:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Se a propriedade tiver sido atualizada no processador de mensagens, o comando acima deve mostrar o valor da propriedade HTTP.ignore.allow_header.for.405 como false no arquivo http.properties, conforme mostrado abaixo:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
    
  3. Se você ainda vir o valor da propriedade HTTP.ignore.allow_header.for.405 como true, depois verifique se você seguiu todas as etapas descritas Configurar o cabeçalho "ignorar permissão" da propriedade 405 como "false" em processadores de mensagens corretamente. Se você tiver pulado alguma etapa, repita-a corretamente.
  4. Se você ainda não conseguir modificar a propriedade HTTP.ignore.allow_header.for.405 e entre em contato com o suporte do Apigee Edge.