HTTP 304-Antwort in Trace-Sitzung

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zuApigee X wechseln.
info

Symptom

Wenn Sie in Edge for Private Cloud eine API in der Edge-UI verfolgen, sehen Sie in der Spalte Status des Trace-Fensters eine HTTP-304-Antwort:

Fehlermeldungen

Es gibt keine Fehlermeldungen. Der API-Proxy-Aufruf gibt tatsächlich eine Erfolgsantwort zurück, z. B. HTTP 200. Im Trace-Fenster der Edge-UI wird jedoch eine HTTP-304-Antwort angezeigt und es werden keine Trace-Daten erfasst.

Mögliche Ursachen

In Edge for Private Cloud versucht die Edge-UI, einen API-Proxy zu verfolgen, auf den über eine private IP-Adresse zugegriffen wird.

Mit dem Trace-Tool in der Edge-UI können API-Anfragen an jede URL gesendet werden. In einem Bereitstellungsszenario, in dem die Edge-UI gemeinsam mit anderen internen Diensten gehostet wird, kann ein böswilliger Nutzer das Trace-Tool missbrauchen, um Anfragen an Dienste über eine private IP-Adresse zu senden, z. B. localhost oder 127.0.0.1.

In einer Produktionsumgebung lassen Sie die Standardeinstellung in der Regel unverändert, damit Nutzer keine private IP-Adresse verfolgen können. So wird beispielsweise die öffentliche Version der Edge-UI bereitgestellt.

Für eine interne Entwicklungs- oder Testumgebung können Sie diese Standardeinstellung jedoch überschreiben, damit Ihre API-Entwickler jede IP-Adresse verfolgen können. In der Regel befindet sich eine Entwicklungs-/Testumgebung hinter einer Firewall, die keinen öffentlichen Zugriff zulässt.

Hinweis : Als Best Practice sollten Sie die Standardeinstellung beibehalten, um den Trace-Zugriff auf private IP-Adressen zu verhindern, auch in einer Entwicklungs-/Testumgebung. Aktivieren Sie die Funktion nur, wenn es unbedingt erforderlich ist.

Ursache: Versuch, auf einen API-Proxy über eine private IP-Adresse zuzugreifen

Standardmäßig verhindert die Edge-UI für Edge for Private Cloud, dass Nutzer API-Aufrufe verfolgen, die über private IP-Adressen erfolgen. Die Liste der privaten IP-Adressen umfasst:

  • Loopback-Adresse (127.0.0.1 oder localhost)
  • Standortspezifische Adressen (für IPv4: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Beliebige lokale Adresse (jede Adresse, die in localhost aufgelöst wird)

Mit dem folgenden curl-Befehl wird beispielsweise ein Aufruf an einen API-Proxy mit der IP-Adresse 127.0.0.1 ausgeführt, die als private IP-Adresse gilt:

curl http://127.0.0.1:9001/myapiproxy

Im Trace-Fenster für diesen Aufruf wird eine HTTP-304-Antwort angezeigt, auch wenn der curl-Befehl erfolgreich war.

Auflösung

Wenn die Edge-UI private IP-Adressen für Edge for Private Cloud verfolgen soll, legen Sie das folgende Token in ui.properties fest:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

So legen Sie diese Eigenschaft fest:

  1. Öffnen Sie die Datei ui.properties in einem Editor. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    vi /opt/apigee/customer/application/ui.properties
  2. Setzen Sie die folgenden Eigenschaften auf „true“:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. Speichern Sie die Änderungen in ui.properties.
  4. Prüfen Sie, ob die Datei mit den Eigenschaften dem Nutzer „apigee“ gehört:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Starten Sie die Edge-UI neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Die Edge-UI kann jetzt im Trace-Tool auf private IP-Adressen zugreifen.

Wenn Sie später verhindern möchten, dass die UI Anfragen über private IP-Adressen verfolgt, bearbeiten Sie ui.properties, setzen Sie die Eigenschaft auf false und starten Sie die Edge-UI neu.

Weitere Informationen finden Sie unter Zugriff der Edge-UI auf lokale IP-Adressen zulassen.