Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
W komunikacji klient-serwer serwer odpowiada kodem stanu HTTP 405
Method Not Allowed, jeśli
Metoda żądania HTTP przedstawiona przez klienta jest znana serwerowi
ale nie jest obsługiwany przez zasób docelowy. Podobnie w Apigee Edge serwer backendu może
odpowiedź z kodem stanu HTTP 405 Method Not Allowed.
Apigee Edge oczekuje, że serwer backendu wyśle 405 Method Not Allowed odpowiedzi
z listą dozwolonych metod w nagłówku Allow, zgodnie ze specyfikacją
RFC 7231, sekcja 6.5.5: 405 Method Not Allowed (Niedozwolona metoda).
Nagłówek Allow należy wysyłać w następującym formacie:
Allow: HTTP_METHODS
Jeśli na przykład serwer backendu zezwala na GET, POST i
HEAD, musisz upewnić się, że zawiera je nagłówek Allow
w następujący sposób:
Allow: GET, POST, HEAD
Jeśli serwer backendu nie wysyła nagłówka Allow z kodem stanu HTTP
405 Method Not Allowed,, Apigee zwróci kod stanu HTTP 502 Bad
Gateway z kodem błędu protocol.http.Response405WithoutAllowHeader do
i aplikacjami klienckimi. Zalecane rozwiązanie w celu rozwiązania tego błędu to
aby naprawić serwer backendu, aby był zgodny ze specyfikacją
RFC 7231, sekcja 6.5.5: 405 Method Not Allowed (Niedozwolona metoda 405) lub użyj obsługi błędów, aby
w odpowiedzi prześlij kod stanu HTTP 405 Method Not Allowed, w tym kod stanu HTTP
Nagłówek Allow zgodny z opisem w poradniku dotyczącym rozwiązywania problemów
502 Nieprawidłowa brama – odpowiedź 405 bez nagłówka allow.
Jednak w niektórych wyjątkowych przypadkach naprawa backendu lub modyfikacja Proxy API, aby natychmiast rozwiązać ten problem.
W takich przypadkach możesz ustawić nagłówek „ignoring allow” dla właściwości 405.
HTTP.ignore.allow_header.for.405 w:
Tymczasowy poziom procesora wiadomości. Ustawienie tej właściwości na true uniemożliwia Apigee
zwrócenia odpowiedzi 502 Bad Gateway aplikacjom klienckim, nawet jeśli
serwer backendu wysyła kod stanu HTTP 405 Method Not Allowed bez prefiksu
Allow.
Gdy uda Ci się naprawić serwer backendu, aby wysyłał kod stanu HTTP 405 Method
Not Allowed z nagłówkiem Allow, możesz przywrócić tę właściwość
HTTP.ignore.allow_header.for.405 na domyślną wartość false.
Zanim zaczniesz
Przed użyciem kroków opisanych w tym dokumencie upewnij się, że rozumiesz następujące tematy:
- Przeczytaj poradnik – 502 Nieprawidłowa brama – odpowiedź 405 bez nagłówka allow.
- Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj Jak skonfigurować Edge
Konfigurowanie nagłówka zezwalającego ignorowania dla właściwości 405 na „prawda” w procesorach wiadomości
W Apigee Edge właściwość HTTP.ignore.allow_header.for.405 jest ustawiona na
false. Dzięki temu Apigee Edge może zwracać błąd 502 Bad
Gateway z kodem błędu protocol.http.Response405WithoutAllowHeader
aplikacje klienckie, jeśli serwer backendu wysyła kod stanu HTTP 405 Method Not
Allowed bez nagłówka Allow. Jeśli chcesz uniemożliwić Apigee Edge
wysyłaniu wiadomości 502 Bad Gateway do aplikacji klienckich, musisz ustawić wartość
z właściwości HTTP.ignore.allow_header.for.405 do true w wiadomości
Procesory.
Z tej sekcji dowiesz się, jak skonfigurować usługę
HTTP.ignore.allow_header.for.405 do true w:
z procesorami wiadomości używającymi tokena zgodnie ze składnią opisaną w
Jak skonfigurować Edge
-
Na komputerze z procesorem wiadomości otwórz poniższy plik w edytorze. Jeśli nie już istnieje, a następnie ją utwórz.
/opt/apigee/customer/application/message-processor.properties
Aby na przykład otworzyć plik przy użyciu polecenia vi wpisz:
vi /opt/apigee/customer/application/message-processor.properties
- Dodaj do pliku właściwości wiersz w tym formacie:
conf_http_HTTP.ignore.allow_header.for.405=true
- Zapisz zmiany.
- Upewnij się, że plik właściwości należy do użytkownika
apigee, jak pokazano poniżej:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jeśli masz więcej niż jeden procesor wiadomości, powtórz powyższe kroki dla wszystkich Procesory.
Weryfikowanie nagłówka zezwolenia na ignorowanie usługi 405 ma wartość Prawda w procesorach wiadomości
Z tej sekcji dowiesz się, jak sprawdzić, czy usługa
Aplikacja HTTP.ignore.allow_header.for.405 została uaktualniona do wersji true
na procesorach wiadomości.
Mimo że używasz tokena conf_http_HTTP.ignore.allow_header.for.405 do aktualizacji
jako wartość usługi w procesorze wiadomości, musisz sprawdzić, czy rzeczywista usługa
Pole HTTP.ignore.allow_header.for.405 ma wartość true.
- Na komputerze z procesorem wiadomości wyszukaj właściwość
HTTP.ignore.allow_header.for.405w:/opt/apigee/edge-message-processor/confi sprawdź, czy została ustawiona natrue, jak pokazano poniżej:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Jeśli właściwość została zaktualizowana w procesorze wiadomości, użyj powyższego polecenia
powinien wyświetlać wartość właściwości
HTTP.ignore.allow_header.for.405jakotruew plikuhttp.properties, jak pokazano poniżej:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Jeśli nadal widzisz wartość właściwości
HTTP.ignore.allow_header.for.405jakofalse, a następnie sprawdź, czy zostały wykonane wszystkie czynności opisane na Konfigurowanie nagłówka ignorowania zezwalającego dla właściwości 405 na „prawda” procesory wiadomości. Jeśli pominąć jakiś krok, powtórz je ponownie . - Jeśli nadal nie możesz zmodyfikować usługi
HTTP.ignore.allow_header.for.405, a potem skontaktuj się z zespołem pomocy Apigee Edge.
Konfigurowanie nagłówka zezwolenia na ignorowanie dla właściwości 405 na wartość Fałsz w procesorach wiadomości
Z tej sekcji dowiesz się, jak skonfigurować usługę
HTTP.ignore.allow_header.for.405 do wartości domyślnej false
w procesorze wiadomości, przy użyciu tokena zgodnie ze składnią opisaną w artykule
Jak skonfigurować Edge
- Sprawdź, czy usługa
HTTP.ignore.allow_header.for.405została zmieniona natrueMożesz to zrobić, wyszukując tę usługę w katalogu/opt/apigee/edge-message-processor/confi sprawdź jego zawartość za pomocą tego polecenia:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Jeśli właściwość jest ustawiona na
truew procesorze wiadomości, to powyższe polecenie powinien wyświetlać wartość właściwościHTTP.ignore.allow_header.for.405jakotruew plikuhttp.properties, jak pokazano poniżej:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Jeśli powyższe polecenie wskazuje, że właściwość
HTTP.ignore.allow_header.for.405jest ustawiona nafalse(wartość domyślna), nie musisz nic robić. To znaczy, pomiń te czynności. - Jeśli właściwość
HTTP.ignore.allow_header.for.405ma wartośćtrue, następnie wykonaj poniższe kroki, by przywrócić jego domyślną wartośćfalse. Na komputerze z procesorem wiadomości otwórz w edytorze ten plik:
/opt/apigee/customer/application/message-processor.properties
Aby na przykład otworzyć plik przy użyciu polecenia vi wpisz:
vi /opt/apigee/customer/application/message-processor.properties
- Usuń z pliku właściwości ten wiersz:
conf_http_HTTP.ignore.allow_header.for.405=true
- Zapisz zmiany.
- Upewnij się, że plik właściwości należy do użytkownika
apigee, jak pokazano poniżej:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jeśli masz więcej niż jeden procesor wiadomości, powtórz powyższe kroki dla wszystkich Procesory.
Weryfikowanie nagłówka zezwolenia na ignorowanie w przypadku usługi 405 ma wartość Fałsz w procesorach wiadomości
Z tej sekcji dowiesz się, jak sprawdzić, czy usługa
Aplikacja HTTP.ignore.allow_header.for.405 została uaktualniona do wersji false
na procesorach wiadomości.
Mimo że korzystasz z tokena
conf_http_HTTP.ignore.allow_header.for.405, aby zaktualizować wartość w wiadomości
firmy obsługującej płatności, musisz zweryfikować, czy rzeczywiście usługa HTTP.ignore.allow_header.for.405
została ustawiona na false.
- Na komputerze z procesorem wiadomości wyszukaj właściwość
HTTP.ignore.allow_header.for.405w katalogu/opt/apigee/edge-message- processor/confi sprawdź, czy ustawiono tu wartośćfalse, jak pokazano na ilustracji. poniżej:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Jeśli właściwość została zaktualizowana w procesorze wiadomości, użyj powyższego polecenia
powinien wyświetlać wartość właściwości
HTTP.ignore.allow_header.for.405jakofalsew plikuhttp.properties, jak pokazano poniżej:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- Jeśli nadal widzisz wartość właściwości
HTTP.ignore.allow_header.for.405jakotrue, sprawdź, czy zostały wykonane wszystkie czynności opisane w Konfigurowanie nagłówka zezwolenia na ignorowanie dla właściwości 405 na wartość Fałsz w procesorach wiadomości . Jeśli pominiesz jakiś krok, powtórz je poprawnie. - Jeśli nadal nie możesz zmodyfikować usługi
HTTP.ignore.allow_header.for.405, a potem skontaktuj się z zespołem pomocy Apigee Edge.