<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Bei der Client-Server-Kommunikation antwortet ein Server mit dem HTTP-Statuscode 405
Method Not Allowed
, wenn der
<ph type="x-smartling-placeholder"></ph>
Die vom Client bereitgestellte HTTP-Anfragemethode ist dem Server bekannt.
aber von der Zielressource nicht unterstützt wird. Ebenso kann der Backend-Server in Apigee Edge
Antworte mit dem HTTP-Statuscode 405 Method Not Allowed.
Apigee Edge erwartet, dass der Backend-Server 405 Method Not Allowed
-Antworten sendet
durch die Liste der zulässigen Methoden im Allow
-Header gemäß Spezifikation
<ph type="x-smartling-placeholder"></ph>
RFC 7231, Abschnitt 6.5.5: 405 Method Not Allowed
Der Header „Allow
“ muss im folgenden Format gesendet werden:
Allow: HTTP_METHODS
Wenn dein Backend-Server beispielsweise GET
, POST
und
HEAD
-Methoden verwenden, müssen Sie darauf achten, dass der Header Allow
diese enthält.
wie folgt:
Allow: GET, POST, HEAD
Wenn der Backend-Server den Allow
-Header nicht mit dem HTTP-Statuscode sendet
405 Method Not Allowed,
, dann gibt Apigee den HTTP-Statuscode 502 Bad
Gateway
mit dem Fehlercode protocol.http.Response405WithoutAllowHeader
an den
Client-Anwendung. Die empfohlene Lösung zur Behebung dieses Fehlers ist:
, um den Backend-Server so zu reparieren, dass er der Spezifikation entspricht
<ph type="x-smartling-placeholder"></ph>
RFC 7231, Abschnitt 6.5.5: 405 Method Not Allowed oder nutzen Sie die Fehlerbehandlung, um
antworten Sie mit dem HTTP-Statuscode 405 Method Not Allowed
, einschließlich des
Allow
-Header, wie im Playbook zur Fehlerbehebung erläutert
502 Bad Gateway – Antwort 405 ohne „Allow“-Header
In einigen Ausnahmefällen ist es jedoch eventuell nicht möglich, Ihr Backend zu reparieren oder Ihre API-Proxy, um dieses Problem sofort zu beheben.
In solchen Fällen kannst du den Header „Ignorieren zulassen“ für das Attribut 405
festlegen
HTTP.ignore.allow_header.for.405
am
Vorübergehend auf Nachrichtenverarbeitungsebene. Wenn dieses Attribut auf true
festgelegt wird, wird Apigee verhindert
die Antwort 502 Bad Gateway
an Clientanwendungen zurückgeben, selbst wenn
sendet der Back-End-Server den HTTP-Statuscode 405 Method Not Allowed
ohne den
Allow
-Header.
Sobald Sie in der Lage sind, Ihren Backend-Server so zu konfigurieren, dass er den HTTP-Statuscode 405 Method
Not Allowed
mit dem Allow
-Header sendet, können Sie das Attribut zurücksetzen.
HTTP.ignore.allow_header.for.405
auf den Standardwert false
.
Hinweis
Bevor Sie die Schritte in diesem Dokument verwenden, machen Sie sich mit den folgenden Themen vertraut:
- Playbook lesen <ph type="x-smartling-placeholder"></ph> 502 Bad Gateway – Antwort 405 ohne „Allow“-Header
- Wenn Sie mit dem Konfigurieren von Eigenschaften für Edge in Private Cloud nicht vertraut sind, lesen Sie So konfigurieren Sie Edge
Header zum Ignorieren des Zulassens von 405-Properties wird in Message Processors auf „true“ gesetzt
In Apigee Edge wird das Attribut HTTP.ignore.allow_header.for.405
auf
false
. Dadurch kann Apigee Edge den 502 Bad
Gateway
mit dem Fehlercode protocol.http.Response405WithoutAllowHeader
an den
Clientanwendungen, wenn der Back-End-Server den HTTP-Statuscode 405 Method Not
Allowed
ohne den Header Allow
sendet. Wenn Sie verhindern möchten, dass Apigee Edge
502 Bad Gateway
an Clientanwendungen senden, legen Sie den Wert
die Eigenschaft „HTTP.ignore.allow_header.for.405
“ in der Nachricht auf true
Prozessoren.
In diesem Abschnitt wird erläutert, wie Sie die Property konfigurieren.
HTTP.ignore.allow_header.for.405
nach true
am
Message Processor, die das Token gemäß der Syntax verwenden, die unter
<ph type="x-smartling-placeholder"></ph>
So konfigurieren Sie Edge
-
Öffnen Sie auf dem Message Processor-Computer die folgende Datei in einem Editor. Falls nicht, bereits vorhanden sind, dann erstellen Sie sie.
/opt/apigee/customer/application/message-processor.properties
Um die Datei beispielsweise mit zu öffnen, vi Folgendes ein:
vi /opt/apigee/customer/application/message-processor.properties
- Fügen Sie der Eigenschaftendatei eine Zeile im folgenden Format hinzu:
conf_http_HTTP.ignore.allow_header.for.405=true
- Speichern Sie die Änderungen.
- Achten Sie darauf, dass die Property-Datei dem Nutzer
apigee
gehört, wie unten gezeigt:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Starten Sie den Message Processor wie unten gezeigt neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie die obigen Schritte für alle Prozessoren.
Überprüfen, ob der Header zum Ignorieren des Zulassens für die Property 405 in Message Processors auf „true“ festgelegt ist
In diesem Abschnitt wird erläutert, wie Sie prüfen können, ob die Property
HTTP.ignore.allow_header.for.405
wurde auf true
aktualisiert
zu den Message Processors.
Auch wenn Sie das Token conf_http_HTTP.ignore.allow_header.for.405
zum Aktualisieren
den Wert der Eigenschaft im Message Processor enthält, müssen Sie überprüfen, ob die eigentliche Eigenschaft
HTTP.ignore.allow_header.for.405
wurde auf true
gesetzt.
- Suchen Sie auf dem Message Processor-Computer nach der Eigenschaft
HTTP.ignore.allow_header.for.405
in der/opt/apigee/edge-message-processor/conf
und prüfen Sie, ob es wurde wie unten auftrue
festgelegt:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Wenn die Eigenschaft im Message Processor erfolgreich aktualisiert wurde, wird mit dem obigen Befehl
sollte den Wert der Eigenschaft
HTTP.ignore.allow_header.for.405
folgendermaßen anzeigen:true
in der Dateihttp.properties
, wie unten gezeigt:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Wenn der Wert für das Attribut
HTTP.ignore.allow_header.for.405
immer noch alsfalse
und bestätigen Sie dann, dass Sie alle Schritte ausgeführt haben in Konfiguration des Headers „Zulassen“ für 405-Property auf „true“ Message Processors korrekt. Wenn du einen Schritt verpasst hast, wiederhole alle Schritte noch einmal korrekt sind. - Wenn Sie die Property immer noch nicht ändern können
HTTP.ignore.allow_header.for.405
und wenden Sie sich dann an den Apigee Edge-Support.
Konfiguration des Headers „Ignoriere zulassen“ für das Attribut 405 in Message Processors auf „false“
In diesem Abschnitt wird erläutert, wie Sie die Property konfigurieren.
HTTP.ignore.allow_header.for.405
auf den Standardwert false
im Message Processor und verwenden dabei das Token gemäß der Syntax unter
Edge konfigurieren
- Prüfen, ob die Property „
HTTP.ignore.allow_header.for.405
“ geändert wurde zutrue
. Suchen Sie dazu nach dieser Unterkunft. im Verzeichnis/opt/apigee/edge-message-processor/conf
und prüfen Sie, mit dem folgenden Befehl:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Wenn das Attribut im Message Processor auf
true
gesetzt ist, wird mit dem obigen Befehl sollte den Wert der EigenschaftHTTP.ignore.allow_header.for.405
folgendermaßen anzeigen:true
in der Dateihttp.properties
, wie unten gezeigt:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Wenn der obige Befehl anzeigt, dass das Attribut
HTTP.ignore.allow_header.for.405
false
(Standardwert) festgelegt ist, müssen Sie nichts weiter tun. Das heißt: überspringen Sie die folgenden Schritte. - Wenn das Attribut
HTTP.ignore.allow_header.for.405
auftrue
gesetzt ist, Führen Sie dann die folgenden Schritte aus, um den Standardwertfalse
wiederherzustellen. Öffnen Sie auf dem Message Processor-Computer die folgende Datei in einem Editor:
/opt/apigee/customer/application/message-processor.properties
Um die Datei beispielsweise mit zu öffnen, vi Folgendes ein:
vi /opt/apigee/customer/application/message-processor.properties
- Entfernen Sie die folgende Zeile aus der Eigenschaftendatei:
conf_http_HTTP.ignore.allow_header.for.405=true
- Speichern Sie die Änderungen.
- Achten Sie darauf, dass die Property-Datei dem Nutzer
apigee
gehört, wie unten gezeigt:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Starten Sie den Message Processor wie unten gezeigt neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie die obigen Schritte für alle Prozessoren.
Überprüfen, ob der Header zum Ignorieren des Zulassens für die Property 405 in Message Processors auf „false“ gesetzt ist
In diesem Abschnitt wird erläutert, wie Sie prüfen können, ob die Property
HTTP.ignore.allow_header.for.405
wurde auf false
aktualisiert
zu den Message Processors.
Auch wenn Sie das Token
conf_http_HTTP.ignore.allow_header.for.405
, um den Wert der Nachricht zu aktualisieren
Auftragsverarbeiter, Sie müssen überprüfen, ob die tatsächliche Property HTTP.ignore.allow_header.for.405
wurde auf false
gesetzt.
- Suchen Sie auf dem Message Processor-Computer nach der Eigenschaft
HTTP.ignore.allow_header.for.405
im Verzeichnis/opt/apigee/edge-message- processor/conf
und prüfen Sie, ob es auffalse
gesetzt wurde (siehe Abbildung). unten:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Wenn die Eigenschaft im Message Processor erfolgreich aktualisiert wurde, wird mit dem obigen Befehl
sollte den Wert der Eigenschaft
HTTP.ignore.allow_header.for.405
so anzeigen:false
in diehttp.properties
-Datei ein, wie unten gezeigt:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- Wenn der Wert für die Eigenschaft
HTTP.ignore.allow_header.for.405
immer noch alstrue
und vergewissern Sie sich, dass Sie alle Schritte ausgeführt haben in <ph type="x-smartling-placeholder"></ph> Header „Ignorierzulass“ für Property 405 in Message Processors auf „false“ setzen korrekt sind. Wenn Sie einen Schritt verpasst haben, wiederholen Sie alle Schritte noch einmal richtig. - Wenn Sie die Property immer noch nicht ändern können
HTTP.ignore.allow_header.for.405
und wenden Sie sich dann an den Apigee Edge-Support.