การตอบสนองของ HTTP 304 ในเซสชันการติดตาม

คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่ เอกสารประกอบเกี่ยวกับ Apigee X.
ข้อมูล

ลักษณะปัญหา

ใน Edge สำหรับ Private Cloud เมื่อติดตาม API ใน Edge UI คุณจะเห็น การตอบกลับ HTTP 304 ในคอลัมน์สถานะของหน้าต่างการติดตาม ดังนี้

ข้อความแสดงข้อผิดพลาด

ไม่มีข้อความแสดงข้อผิดพลาด - การเรียกพร็อกซี API ส่งคืนสำเร็จ การตอบสนอง เช่น HTTP 200 แต่หน้าต่างการติดตามใน Edge UI จะแสดง การตอบกลับ HTTP 304 และไม่มีการรวบรวมข้อมูลการติดตาม

สาเหตุที่เป็นไปได้

Edge UI กำลังพยายามติดตามพร็อกซี API ใน Edge สำหรับ Private Cloud มีการเข้าถึงโดยที่อยู่ IP ส่วนตัว

เครื่องมือติดตามใน Edge UI จะส่งคำขอ API ไปยัง URL ใดก็ได้ ในสถานการณ์การติดตั้งใช้งานที่ Edge UI โฮสต์ร่วมกับระบบภายในอื่นๆ ผู้ใช้ที่เป็นอันตรายอาจใช้เครื่องมือติดตามในทางที่ผิดเพื่อส่งคำขอไปยัง บริการผ่านที่อยู่ IP ส่วนตัว เช่น localhost หรือ 127.0.0.1

ในสภาพแวดล้อมการใช้งานจริง โดยปกติแล้วคุณจะใช้ค่าเริ่มต้นเป็นอย่างที่เป็นอยู่เพื่อป้องกัน ไม่ให้ผู้ใช้ติดตามที่อยู่ IP ส่วนตัว ตัวอย่างเช่น เวอร์ชันสาธารณะของ Edge UI มีการทำให้ใช้งานได้แล้ว

แต่สำหรับการพัฒนาภายในหรือสภาพแวดล้อมการทดสอบ คุณสามารถลบล้าง ค่าเริ่มต้นนี้เพื่ออนุญาตให้นักพัฒนา API ติดตามที่อยู่ IP ใดก็ได้ โดยทั่วไปแล้ว สภาพแวดล้อมในการพัฒนาซอฟต์แวร์/การทดสอบจะอยู่หลังไฟร์วอลล์ที่ไม่มี อนุญาตการเข้าถึงแบบสาธารณะ

หมายเหตุ: ตามแนวทางปฏิบัติแนะนำ คุณควรปล่อยค่าเริ่มต้นไว้ตามเดิม เพื่อป้องกันการเข้าถึงการติดตามที่อยู่ IP ส่วนตัวแม้ในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์/ทดสอบ เว้นแต่ว่าคุณต้องเปิดใช้งานฟีเจอร์นี้

สาเหตุ: การพยายามเข้าถึงพร็อกซี API ผ่านที่อยู่ IP ส่วนตัว

โดยค่าเริ่มต้น Edge UI สำหรับ Edge สำหรับ Private Cloud จะป้องกันไม่ให้ผู้ใช้ดำเนินการต่อไปนี้ การเรียก API การติดตามที่ดำเนินการผ่านที่อยู่ IP ส่วนตัว รายการที่อยู่ IP ส่วนตัวประกอบด้วยข้อมูลต่อไปนี้

  • ที่อยู่ Loopback (127.0.0.1 หรือ localhost)
  • ที่อยู่ภายในเว็บไซต์ (สำหรับ IPv4 - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • ที่อยู่ท้องถิ่นทั้งหมด (ที่อยู่ที่แปลงที่อยู่เป็น localhost)

ตัวอย่างเช่น คำสั่ง curl ต่อไปนี้เรียกใช้พร็อกซี API โดยใช้ ที่อยู่ IP 127.0.0.1 ซึ่งถือว่าเป็นที่อยู่ IP ส่วนตัว

curl http://127.0.0.1:9001/myapiproxy

ในหน้าต่างการติดตามของการเรียกนี้ คุณจะเห็นการตอบกลับ HTTP 304 แม้ว่าคำสั่ง curl จะแสดงผลสำเร็จก็ตาม

ความละเอียด

วิธีเปิดใช้ Edge UI เพื่อติดตามที่อยู่ IP ส่วนตัวสำหรับ Edge Private Cloud ตั้งค่าโทเค็นต่อไปนี้ใน ui.properties

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

วิธีตั้งค่าพร็อพเพอร์ตี้นี้

  1. เปิดไฟล์ ui.properties ในตัวแก้ไข หากไฟล์ ไม่มีอยู่ ให้สร้างขึ้นมาใหม่
    vi /opt/apigee/customer/application/ui.properties
  2. ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้เป็น "จริง"
    วันที่
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. บันทึกการเปลี่ยนแปลงลงใน ui.properties
  4. ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของ "apigee" ผู้ใช้:
    วันที่
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. รีสตาร์ท Edge UI ดังนี้
    วันที่
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Edge UI เข้าถึงที่อยู่ IP ส่วนตัวในเครื่องมือติดตามได้แล้ว

หากต้องการปิดใช้ UI ไม่ให้ติดตามคำขอผ่านที่อยู่ IP ส่วนตัวในภายหลัง ให้ทำดังนี้ แก้ไข ui.properties เพื่อตั้งค่าพร็อพเพอร์ตี้เป็น false และ จากนั้นรีสตาร์ท Edge UI

สำหรับข้อมูลเพิ่มเติม โปรดดู การให้สิทธิ์เข้าถึงที่อยู่ IP ในเครื่องแก่ Edge UI