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

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

ลักษณะปัญหา

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

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

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

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

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

เครื่องมือติดตามใน 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. รีสตาร์ท UI ของ Edge โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

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

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