คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
สิ่งที่คุณจะได้เรียนรู้
ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีการต่อไปนี้
- เพิ่มนโยบายที่มีผลต่อคำขอและการตอบกลับ
- ดูผลกระทบจากนโยบาย
สิ่งที่คุณต้องมี
- นโยบายอย่างน้อย 1 รายการในพร็อกซี (ซึ่งเป็นส่วนหนึ่งของบทแนะนำเริ่มต้นใช้งานด้วย)
curlติดตั้งในเครื่องเพื่อทำการเรียก API จากบรรทัดคำสั่ง
เพิ่มนโยบายการป้องกันการเพิ่มขึ้นของทราฟิก
ในบทแนะนำนี้ คุณจะได้เพิ่มและกำหนดค่านโยบาย SpikeArrest เพื่อป้องกันบริการเป้าหมาย จากยอดเข้าชมที่เพิ่มขึ้นอย่างฉับพลันซึ่งอาจเกิดจากการใช้งานที่เพิ่มขึ้น ไคลเอ็นต์ที่มีข้อบกพร่อง หรือการโจมตีที่เป็นอันตราย เมื่อจำนวนคำขอเกินขีดจำกัดอัตราคำขอ API จะแสดงข้อผิดพลาด HTTP 500 สำหรับคำขอ
เพิ่มนโยบาย Spike Arrest ลงในพร็อกซี API โดยทำดังนี้
- ลงชื่อเข้าใช้ apigee.com/edge
- เลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย
- เลือกพร็อกซี API ที่ต้องการเพิ่มนโยบายการควบคุมอัตราการเข้าชม
หากทำตามบทแนะนำการเริ่มต้นใช้งาน คุณจะเพิ่มนโยบายนี้ลงในพร็อกซี "getstarted" ที่สร้างไว้ในสร้างพร็อกซี API ได้
- ในเครื่องมือแก้ไขพร็อกซี API ใหม่ ให้คลิกแท็บพัฒนา

โปรแกรมแก้ไขพร็อกซี API ช่วยให้คุณเห็นโครงสร้างของพร็อกซี API และกำหนดค่าโฟลว์ของพร็อกซี เอดิเตอร์จะแสดงภาพการไหลของข้อความคำขอและการตอบกลับของพร็อกซี รวมถึงการแสดง XML พื้นฐานที่กำหนดพร็อกซีซึ่งแก้ไขได้
- ในแผง Navigator ด้านซ้าย ให้คลิก PreFlow ในส่วน Proxy Endpoints > default (บทแนะนำอื่นๆ จะครอบคลุมแนวคิดของโฟลว์)
- คลิกปุ่ม +ขั้นตอนด้านบนที่สอดคล้องกับ Request PreFlow ซึ่งจะแสดงรายการนโยบายทั้งหมดที่คุณสร้างได้ตามหมวดหมู่

- เลือก Spike Arrest ในหมวดหมู่การจัดการการรับส่งข้อมูล กล่องโต้ตอบนโยบายใหม่
จะปรากฏขึ้น

- ปล่อยให้ชื่อเป็นค่าเริ่มต้น แล้วคลิกเพิ่ม นโยบายใหม่จะแนบไปกับ โฟลว์ PreFlow ของคำขอ
- ใน Navigator ให้ตรวจสอบว่าได้เลือก PreFlow ในส่วนปลายทางพร็อกซี
> default แล้ว และจดบันทึกข้อมูลต่อไปนี้ใน API Proxy Editor
- ระบบจะเพิ่มนโยบาย Spike Arrest-1 ใหม่ไว้ในส่วนนโยบายใน Navigator ทางด้านซ้ายของตัวแก้ไขพร็อกซี API
- ไอคอน Spike Arrest-1 จะเพิ่มลงในมุมมองดีไซเนอร์ที่ กึ่งกลางด้านบนของเครื่องมือแก้ไขพร็อกซี API ซึ่งเป็นภาพแทนโฟลว์ข้อความของ พร็อกซี
- XML สำหรับนโยบายจะแสดงในมุมมองโค้ดที่ ด้านล่างตรงกลางของเครื่องมือแก้ไขพร็อกซี API

- ในแถบนำทาง ให้เลือก Spike Arrest-1 ในส่วนนโยบาย แล้วจดบันทึก
รายการต่อไปนี้ในเครื่องมือแก้ไขพร็อกซี API
- รายละเอียดนโยบายจะแสดงในมุมมองดีไซเนอร์ที่ด้านบน ตรงกลางของเครื่องมือแก้ไขพร็อกซี API
- XML สำหรับนโยบายจะแสดงในมุมมองโค้ดที่ด้านล่าง ตรงกลางของเครื่องมือแก้ไขพร็อกซี API
- ค่าองค์ประกอบและแอตทริบิวต์ XML สำหรับนโยบายจะแสดงใน เครื่องมือตรวจสอบพร็อพเพอร์ตี้ทางด้านขวาของเครื่องมือแก้ไขพร็อกซี API

-
ใน XML ของนโยบาย ให้เปลี่ยนค่าขององค์ประกอบ
<Rate>เป็น 1pm (ซึ่ง จะแปลเป็นคำขอที่อนุญาตประมาณ 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>ขีดจำกัดเป็น 15pm (ซึ่งหมายถึงอนุญาตให้เรียกใช้ประมาณ 2 ครั้งทุกๆ 4 วินาทีใน ระบบคลาวด์) จากนั้นบันทึกพร็อกซี API - เรียกใช้คำสั่ง
curlหรือรีเฟรชเบราว์เซอร์ซ้ำๆ (curlเร็วกว่า) โปรดทราบว่าหากคุณโทร 1 หรือ 2 ครั้งภายในช่วงเวลา 4 วินาที การโทรจะสำเร็จ หากคุณ โทรออกอย่างรวดเร็วมากกว่า 2 ครั้งภายใน 4 วินาที คุณจะได้รับข้อผิดพลาด แต่หลังจากผ่านไป ทุกๆ 4 วินาที คุณจะโทรออกต่อได้ ไม่ใช่ถูกบล็อกเป็นเวลา 1 นาทีเต็ม (เมื่อตั้งค่าเป็น 13:00 น.)