Odpowiedź HTTP 304 w sesji śledzenia

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Krótki opis problemu

W Edge dla chmury prywatnej przy śledzeniu interfejsu API w interfejsie Edge zobaczysz odpowiedź HTTP 304 w kolumnie Stan w oknie śledzenia:

Komunikaty o błędach

Brak komunikatów o błędach – wywołanie serwera proxy interfejsu API zwraca błąd np. HTTP 200. Jednak w interfejsie Edge pojawi się okno śledzenia. odpowiedź HTTP 304 i żadne dane śledzenia nie będą zbierane.

Możliwe przyczyny

W Edge dla chmury prywatnej interfejs Edge próbuje śledzić serwer proxy interfejsu API dostępne z prywatnego adresu IP.

Narzędzie do śledzenia w interfejsie Edge może wysyłać żądania do interfejsu API na dowolny adres URL. w scenariuszu wdrożenia, w którym interfejs użytkownika Edge jest hostowany wspólnie z innymi wewnętrznymi użytkownikami. usług, szkodliwy użytkownik może niewłaściwie użyć narzędzia do śledzenia, aby wysyłać żądania z prywatnym adresem IP, takim jak localhost czy 127.0.0.1.

W środowisku produkcyjnym zwykle pozostawia się ustawienie domyślne bez zmian. śledzenie prywatnych adresów IP przez użytkowników. Tak na przykład publiczna wersja interfejsu Edge została wdrożona.

W przypadku wewnętrznego środowiska programistycznego lub testowego możesz jednak zmienić to domyślne ustawienie, aby umożliwić programistom API śledzenie dowolnego adresu IP. Zwykle środowisko programistyczne/testowe znajduje się za zaporą sieciową, która nie zezwolić na dostęp publiczny.

Uwaga: zgodnie ze sprawdzonymi metodami pozostaw domyślną wartość aby zapobiec dostępowi śledzenia do prywatnych adresów IP, nawet w środowisku programistycznym/testowym chyba że zdarzy się sytuacja, w której trzeba będzie ją włączyć.

Przyczyna: próba uzyskania dostępu do serwera proxy interfejsu API za pomocą prywatnego adresu IP

Domyślnie interfejs Edge dla chmury prywatnej uniemożliwia użytkownikom śledzenia wywołań interfejsu API wykonywanych z użyciem prywatnych adresów IP. Lista prywatnych adresów IP obejmuje:

  • Adres sprzężenia zwrotnego (127.0.0.1 lub host lokalny)
  • Adresy lokalne witryny (dla IPv4 – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Dowolny adres lokalny (dowolny adres kierujący do lokalnego hosta)

Na przykład poniższe polecenie curl wywołuje serwer proxy interfejsu API za pomocą polecenia Adres IP 127.0.0.1, który jest uznawany za prywatny adres IP:

curl http://127.0.0.1:9001/myapiproxy

W oknie śledzenia tego wywołania pojawia się odpowiedź HTTP 304, nawet jeśli polecenie curl zwróciło powodzenie.

Rozdzielczość

Aby włączyć w interfejsie Edge śledzenie prywatnych adresów IP Edge dla Private Cloud, ustaw ten token w ui.properties:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Aby ustawić tę właściwość:

  1. Otwórz plik ui.properties w edytorze. Jeśli plik nie istnieje, należy go utworzyć.
    vi /opt/apigee/customer/application/ui.properties
  2. Ustaw wartość tych właściwości na wartość true (prawda):
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. Zapisz zmiany na koncie ui.properties.
  4. Sprawdź, czy plik właściwości należy do „apigee” użytkownik:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Uruchom ponownie interfejs Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Interfejs Edge ma teraz dostęp do prywatnych adresów IP w narzędziu do śledzenia.

Aby później wyłączyć w interfejsie śledzenie żądań za pomocą prywatnych adresów IP, edytuj ui.properties, aby ustawić właściwość na false i i ponownie uruchom interfejs Edge.

Więcej informacji można znaleźć w sekcji Zezwalanie na dostęp interfejsu Edge do lokalnych adresów IP.