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:
- Leia o Manual: 502 Gateway inválido - resposta 405 sem o cabeçalho "Permitir".
- Se você não sabe como configurar propriedades para o Edge em uma nuvem privada, leia Como configurar o Edge.
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.
-
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
- Adicione uma linha no seguinte formato ao arquivo de propriedades:
conf_http_HTTP.ignore.allow_header.for.405=true
- Salve as alterações.
- Verifique se o arquivo de propriedades pertence ao usuário
apigee, conforme mostrado abaixo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Reinicie o processador de mensagens conforme mostrado abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 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.
- Na máquina do processador de mensagens, pesquise a propriedade
HTTP.ignore.allow_header.for.405no/opt/apigee/edge-message-processor/confe verifique se ele foi definido comotrue, conforme mostrado abaixo:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Se a propriedade tiver sido atualizada no processador de mensagens, o comando acima
deve mostrar o valor da propriedade
HTTP.ignore.allow_header.for.405comotrueno arquivohttp.properties, conforme mostrado abaixo:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Se você ainda vir o valor da propriedade
HTTP.ignore.allow_header.for.405comofalsee 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. - Se você ainda não conseguir modificar a propriedade
HTTP.ignore.allow_header.for.405e 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).
- Verifique se a propriedade
HTTP.ignore.allow_header.for.405foi modificada paratrue. Para fazer isso, pesquise esta propriedade no diretório/opt/apigee/edge-message-processor/confe verificando usando o seguinte comando:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Se a propriedade estiver definida como
trueno processador de mensagens, o comando acima deve mostrar o valor da propriedadeHTTP.ignore.allow_header.for.405comotrueno arquivohttp.properties, conforme mostrado abaixo:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Se o comando acima mostrar que a propriedade
HTTP.ignore.allow_header.for.405for definido comofalse(valor padrão), você não precisará fazer mais nada. Ou seja, pule as próximas etapas. - Se a propriedade
HTTP.ignore.allow_header.for.405for definida comotrue, Em seguida, execute as etapas a seguir para reverter para o valor padrãofalse. 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
- Remova a linha a seguir do arquivo de propriedades:
conf_http_HTTP.ignore.allow_header.for.405=true
- Salve as alterações.
- Verifique se o arquivo de propriedades pertence ao usuário
apigee, conforme mostrado abaixo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Reinicie o processador de mensagens conforme mostrado abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 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.
- Na máquina do processador de mensagens, pesquise a propriedade
HTTP.ignore.allow_header.for.405no diretório/opt/apigee/edge-message- processor/confe verifique se ele foi definido comofalse, conforme mostrado. abaixo:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Se a propriedade tiver sido atualizada no processador de mensagens, o comando acima
deve mostrar o valor da propriedade
HTTP.ignore.allow_header.for.405comofalseno arquivohttp.properties, conforme mostrado abaixo:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- Se você ainda vir o valor da propriedade
HTTP.ignore.allow_header.for.405comotrue, 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. - Se você ainda não conseguir modificar a propriedade
HTTP.ignore.allow_header.for.405e entre em contato com o suporte do Apigee Edge.