คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
สิ่งที่คุณจะได้เรียนรู้
ในบทแนะนำนี้ คุณจะได้เรียนรู้เกี่ยวกับสิ่งต่อไปนี้
- เพิ่มนโยบายที่มีผลต่อคำขอและการตอบกลับ
- ดูผลกระทบของนโยบาย
สิ่งที่คุณต้องมี
- นโยบายอย่างน้อย 1 รายการในพร็อกซี (ซึ่งเป็นส่วนหนึ่งของบทแนะนำเริ่มต้นใช้งาน)
curl
ติดตั้งในเครื่องของคุณเพื่อทำการเรียก API จากบรรทัดคำสั่ง
เพิ่มนโยบาย Spike Arrest
ในบทแนะนำนี้ คุณจะต้องเพิ่มและกำหนดค่านโยบาย SpikeArrest เพื่อป้องกันเป้าหมาย บริการต่อการเข้าชมที่เพิ่มขึ้นอย่างรวดเร็วอย่างฉับพลัน ซึ่งอาจเกิดจากการใช้งานที่เพิ่มขึ้น ไคลเอ็นต์ที่มีข้อบกพร่อง หรือการโจมตีที่เป็นอันตราย เมื่อจำนวนคำขอเกินขีดจำกัดอัตราคำขอ API จะแสดงผล ข้อผิดพลาด HTTP 500 สำหรับคำขอ
เพิ่มนโยบาย Spike Arrest ลงในพร็อกซี API ดังนี้
- ลงชื่อเข้าใช้ apigee.com/edge
- เลือก Develop > พร็อกซี API ในแถบนำทางด้านซ้าย
- เลือกพร็อกซี API ที่ต้องการเพิ่มนโยบาย Spike Arrest
หากคุณทำตามบทแนะนำการเริ่มต้นใช้งานแล้ว คุณสามารถเพิ่มคู่มือลงใน "เริ่มต้นใช้งาน" พร็อกซีที่คุณสร้างขึ้นใน สร้าง พร็อกซี API
- ในตัวแก้ไขสำหรับพร็อกซี API ใหม่ ให้คลิกแท็บพัฒนา ดังนี้
เครื่องมือแก้ไขพร็อกซี API จะช่วยให้คุณเห็นโครงสร้างของพร็อกซี API และกำหนดค่าการทำงานของพร็อกซี ตัวแก้ไขแสดงให้เห็นภาพคำขอและข้อความตอบกลับของพร็อกซีของคุณ ตลอดจนการแสดง XML ที่สำคัญซึ่งแก้ไขได้ ซึ่งกำหนดพร็อกซี
- ในแผงการนำทางด้านซ้าย ให้คลิก PreFlow ใต้พร็อกซี ปลายทาง > ค่าเริ่มต้น (บทแนะนำอื่นๆ จะครอบคลุมแนวคิดของ )
- คลิกปุ่ม +ขั้นตอน ด้านบนที่สอดคล้องกับคำขอขั้นตอนเบื้องต้น ช่วงเวลานี้ จะแสดงรายการที่จัดหมวดหมู่ของนโยบายทั้งหมดที่คุณสร้างได้
- เลือก Spike Arrest ในหมวดหมู่ Traffic Management นโยบายใหม่ จะปรากฏขึ้น
- ปล่อยชื่อเริ่มต้นไว้ แล้วคลิกเพิ่ม นโยบายใหม่ที่แนบมากับ ขั้นตอน PreFlow ของคำขอ
- ใน Navigator ให้ตรวจสอบว่า PreFlow ภายใต้ปลายทางของพร็อกซี
ค่าเริ่มต้นจะยังคงถูกเลือกอยู่และจดบันทึกข้อมูลต่อไปนี้ในเครื่องมือแก้ไขพร็อกซี API
- นโยบาย Spike Arrest-1 ใหม่จะเพิ่มภายใต้นโยบายใน ตัวนำทางทางด้านซ้ายของเครื่องมือแก้ไขพร็อกซี API
- เพิ่มไอคอน Spike Arrest-1 ลงในมุมมองนักออกแบบใน กึ่งกลางด้านบนของ API Proxy Editor ซึ่งเป็นการแสดงข้อมูลแบบภาพ การรับส่งข้อความของพร็อกซี
- XML สำหรับนโยบายจะแสดงในมุมมองโค้ดใน ที่กึ่งกลางด้านล่างของ API Proxy Editor
- ใน Navigator ให้เลือก Spike Arrest-1 ในส่วน "นโยบาย" และสังเกตฟิลด์
ต่อไปนี้ในเครื่องมือแก้ไขพร็อกซี API
- รายละเอียดของนโยบายจะแสดงในมุมมองนักออกแบบที่ด้านบน ของเครื่องมือแก้ไขพร็อกซี API
- XML สำหรับนโยบายจะแสดงในมุมมองโค้ดที่ด้านล่าง ของเครื่องมือแก้ไขพร็อกซี API
- องค์ประกอบ XML และค่าแอตทริบิวต์สำหรับนโยบายจะแสดงใน Property Inspector ทางด้านขวาของเครื่องมือแก้ไขพร็อกซี API
-
ใน XML สำหรับนโยบาย ให้เปลี่ยนค่าของ
<Rate>
องค์ประกอบถึง 13:00 น. (ซึ่ง หมายถึงอนุญาตประมาณ 2 คำขอทุกๆ 60 วินาทีในระบบคลาวด์)คุณสามารถระบุอัตราเป็นค่าจำนวนเต็มต่อนาที (
pm
) หรือต่อ วินาที (ps
) ซึ่งเป็นขีดจำกัดที่ต่ำมากและใช้สำหรับบทแนะนำนี้เท่านั้น ที่บ่งบอกถึงนโยบาย โดยปกติคุณจะตั้งขีดจำกัดที่สูงกว่ามากโปรดสังเกตว่าค่า
Rate
ในเครื่องมือตรวจสอบพร็อพเพอร์ตี้จะเปลี่ยนเป็น "13:00 น." ด้วย หรือจะเปลี่ยนค่าอัตราในเครื่องมือตรวจสอบที่พักก็ได้ และจะแสดงในมุมมอง XML - คลิกบันทึกเพื่อบันทึกการแก้ไขปัจจุบันที่มีการเปลี่ยนแปลง
-
เรียกใช้ API โดยใช้
curl
โดยแทนที่ชื่อองค์กร Apigee ของคุณ สำหรับ org_name:curl "http://org_name-test.apigee.net/getstarted"
เช่น
curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool
ตรวจสอบว่าคำขอประสบความสำเร็จและเห็นการตอบกลับ XML เหมือนกับก่อนหน้านี้ (หรือจะป้อนเฉพาะ URL ลงในเว็บเบราว์เซอร์ก็ได้)
- เรียกใช้คำสั่ง
curl
(หรือรีเฟรชหน้าต่างเบราว์เซอร์) อีก 2 หรือ 3 รายการ ภายใน 1 นาที และสังเกตเห็นว่าคุณได้รับข้อความต่อไปนี้ เนื่องจากคุณใช้เกิน ขีดจำกัดอัตราของนโยบาย:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }
หากพยายามโทรเพิ่มภายใน 1 นาที ก็ควรจะได้รับข้อผิดพลาดต่อไป
- แก้ไขนโยบายเพื่อตั้งขีดจำกัด <
Rate>
เป็น 15.00 น. (ซึ่งหมายถึงอนุญาตการโทร 2 ครั้งโดยประมาณทุก 4 วินาทีใน ระบบคลาวด์) แล้วบันทึกพร็อกซี API - เรียกใช้คำสั่ง
curl
หรือรีเฟรชเบราว์เซอร์ซ้ำๆ (curl
ทำงานเร็วกว่า) โปรดสังเกตว่าหากคุณโทร 1 หรือ 2 ครั้งภายใน 4 วินาที การโทรของคุณจะสำเร็จ หากคุณ โทรอย่างรวดเร็ว มากกว่า 2 ครั้งภายใน 4 วินาที คุณก็น่าจะจับผิดได้ แต่หลังจากนั้น ทุกๆ 4 วินาที คุณจะสามารถโทรออกได้ ไม่ใช่การถูกบล็อกสำหรับ ทั้งหมด (โดยใช้การตั้งค่า 13.00 น.)