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.405
no/opt/apigee/edge-message-processor/conf
e 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.405
comotrue
no 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.405
comofalse
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. - 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).
- Verifique se a propriedade
HTTP.ignore.allow_header.for.405
foi modificada paratrue
. 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
- Se a propriedade estiver definida como
true
no processador de mensagens, o comando acima deve mostrar o valor da propriedadeHTTP.ignore.allow_header.for.405
comotrue
no 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.405
for 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.405
for 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.405
no diretório/opt/apigee/edge-message- processor/conf
e 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.405
comofalse
no 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.405
comotrue
, 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.405
e entre em contato com o suporte do Apigee Edge.