İzleme oturumunda HTTP 304 yanıtı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Belirti

Private Cloud için Edge'de, Edge kullanıcı arayüzünde bir API'yi izlerken izleme penceresinin Durum sütununda bir HTTP 304 yanıtı görürsünüz:

Hata mesajları

Hata mesajı yoktur. API proxy çağrısı aslında HTTP 200 gibi başarılı bir yanıt döndürür. Ancak Edge kullanıcı arayüzündeki izleme penceresinde HTTP 304 yanıtı gösteriliyor ve izleme verisi toplanmıyor.

Olası nedenler

Private Cloud için Edge'de Edge kullanıcı arayüzü, özel bir IP adresiyle erişilen bir API proxy'sini izlemeye çalışıyor.

Edge kullanıcı arayüzündeki izleme aracı, herhangi bir URL'ye API isteği gönderebilir. Edge kullanıcı arayüzünün diğer dahili hizmetlerle birlikte barındırıldığı bir dağıtım senaryosunda kötü niyetli bir kullanıcı, izleme aracını kötüye kullanarak hizmetlere özel bir IP adresi (ör. localhost veya 127.0.0.1) üzerinden istekte bulunabilir.

Üretim ortamında, kullanıcıların özel bir IP adresini izlemesini önlemek için genellikle varsayılan ayarı olduğu gibi bırakırsınız. Örneğin, Edge kullanıcı arayüzünün herkese açık sürümü bu şekilde dağıtılır.

Ancak dahili geliştirme veya test ortamında, API geliştiricilerinizin herhangi bir IP adresini izlemesine izin vermek için bu varsayılanı geçersiz kılabilirsiniz. Genellikle geliştirme/test ortamı, herkese açık erişime izin vermeyen bir güvenlik duvarının arkasındadır.

Not: En iyi uygulama olarak, geliştirme/test ortamında bile özel IP adreslerine izleme erişimini önlemek için varsayılan ayarı olduğu gibi bırakmanız gerekir. Ancak etkinleştirmeniz gereken bir durumla karşılaşırsanız bu ayarı değiştirebilirsiniz.

Neden: Bir API proxy'sine özel IP adresi üzerinden erişmeye çalışılıyor

Varsayılan olarak, Private Cloud için Edge'in Edge kullanıcı arayüzü, kullanıcıların özel IP adresleri üzerinden yapılan API çağrılarını izlemesini engeller. Özel IP adresleri listesinde şunlar bulunur:

  • Geri döngü adresi (127.0.0.1 veya localhost)
  • Siteye özel adresler (IPv4 için: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Herhangi bir yerel adres (localhost'a çözümlenen herhangi bir adres)

Örneğin, aşağıdaki curl komutu, özel IP adresi olarak kabul edilen 127.0.0.1 IP adresini kullanarak bir API proxy'sine çağrı yapar:

curl http://127.0.0.1:9001/myapiproxy

Bu çağrının izleme penceresinde, curl komutu başarıyla tamamlanmış olsa bile HTTP 304 yanıtı görürsünüz.

Çözünürlük

Edge kullanıcı arayüzünün Private Cloud için Edge'in özel IP adreslerini izlemesini sağlamak üzere ui.properties içinde aşağıdaki jetonu ayarlayın:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Bu özelliği ayarlamak için:

  1. ui.properties dosyasını bir düzenleyicide açın. Dosya yoksa oluşturun.
    vi /opt/apigee/customer/application/ui.properties
  2. Aşağıdaki özellikleri doğru olarak ayarlayın:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. ui.properties dosyasında yaptığınız değişiklikleri kaydedin.
  4. Özellikler dosyasının sahibi "apigee" kullanıcısı olmalıdır:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Edge kullanıcı arayüzünü yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Edge kullanıcı arayüzü artık izleme aracındaki özel IP adreslerine erişebilir.

Daha sonra kullanıcı arayüzünün özel IP adresleri üzerinden istekleri izlemesini devre dışı bırakmak için ui.properties öğesini düzenleyerek özelliği false olarak ayarlayın ve Edge kullanıcı arayüzünü yeniden başlatın.

Daha fazla bilgi için Allowing the Edge UI Access to Local IP Addresses (Edge kullanıcı arayüzünün yerel IP adreslerine erişmesine izin verme) başlıklı makaleyi inceleyin.