Freigeben über


Die Azure-API gibt leere Antwort zurück.

In Bezug auf den Artikel zur Azure API Management Troubleshooting Series ist dies das erste Szenario des Labors. Stellen Sie sicher, dass Sie die Anweisungen zum Einrichten des Labors entsprechend befolgt haben, um das Problem neu zu erstellen.

Ursprüngliche Produktversion: API-Verwaltungsdienst
Ursprüngliche KB-Nummer: 4464936

Symptome

Die API Blank API besteht aus zwei Vorgängen GetHeaders und GetMyIp. GetMyIp gibt den Wert des X-FORWARDED-FOR-Headerwerts zurück, und GetHeaders gibt alle Anforderungsheaderwerte zurück. GetMyIp gibt die erwartete Ausgabe zurück, aber plötzlich begann GetHeaders mit der Rückgabe einer leeren Antwort (kein Antworttext).

Screenshot einer leeren Antwort.

Die erwartete Ausgabe der GetHeaders-API sollte etwa wie folgt aussehen:

{
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en;q=0.5", 
    "Connection": "close", 
    "Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1", 
    "Host": "eu.httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
  }
}

Schritte zur Fehlersuche

Um diese Art von Problemen zu debuggen, besteht der beste Ansatz darin, die APIM-Inspektorablaufverfolgung zu sammeln, um die Anforderungsverarbeitung in der APIM-Pipeline zu prüfen.

  • Wenn Sie sich die Ablaufverfolgung ansehen, würden Sie feststellen, dass die Richtlinie für die Weiterleitung nicht vorhanden ist.
  • Die Weiterleitungsanforderungsrichtlinie leitet die eingehende Anforderung an den im Anforderungskontext angegebenen Back-End-Dienst weiter.
  • Das Entfernen dieser Richtlinie führt dazu, dass die Anforderung nicht an den Back-End-Dienst weitergeleitet wird und dass die Richtlinien im Abschnitt für ausgehenden Datenverkehr sofort ausgewertet werden, nachdem die Richtlinien im Abschnitt für den eingehenden Datenverkehr erfolgreich abgeschlossen wurden.
  • Wenn Sie daher den <Back-End-Abschnitt> des GetHeaders-Vorgangs unter " Blank-API " überprüfen, würden Sie feststellen, dass die Weiterleitungsanforderungsrichtlinie entfernt wird.
  • Fügen Sie die Forward-Request-Richtlinie im Back-End-Abschnitt hinzu, oder fügen Sie <> Basis/Element hinzu, sodass sie die Forward-Request-Richtlinie von der übergeordneten Ebene (d. h. von der API-Ebene) erbt, die das Problem beheben sollte.

Informieren Sie sich über die Weiterleitungsanforderungsrichtlinie , um mehr darüber zu erfahren.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.