รายการอนุญาต IP รายการอนุญาต IP คุณสามารถตั้งค่ารายการอนุญาต IP แยกสำหรับคีย์ API แต่ละรายการ เพื่อให้เฉพาะคำขอจาก IP ต้นทางที่กำหนดเท่านั้นที่ใช้คีย์นั้นได้
เหมาะใช้เมื่อใด เหมาะสำหรับการใช้งานบนเซิร์ฟเวอร์ production ที่มี IP ขาออกแบบคงที่ หากแอปส่งคำขอจากเครือข่ายบ้าน เครือข่ายมือถือ หรือที่อยู่ที่เปลี่ยนแปลงได้ โปรดตรวจสอบว่า IP ขาออกคงที่ก่อน มิฉะนั้นคุณอาจล็อกตัวเองออก
วิธีตั้งค่า เปิด /keys จากนั้นเปิดเมนู "⋯" ของคีย์ที่ต้องการ เลือก "รายการอนุญาต IP" ใส่รายการ แล้วบันทึก
หรือใช้ PATCH /api/v1/keys/:id ด้วย session ที่เข้าสู่ระบบแล้วหรือ Management API key:
PATCH https://api.bazaarlink.ai/v1/keys/KEY_ID
Authorization: Bearer sk-bl-YOUR_MANAGEMENT_KEY
Content-Type: application/json
{
"allowedCidrs" : [
"203.0.113.7" ,
"198.51.100.0/24"
]
}
{"allowedCidrs" : []}
⌄ ดูทั้งหมด 13 บรรทัดรูปแบบรายการ ใน UI ให้ใส่หนึ่งค่าต่อบรรทัด ส่วน API ให้ส่งค่าเดียวกันในอาร์เรย์ `allowedCidrs` รองรับ IPv4 แบบไม่ระบุ CIDR, IPv4 CIDR หรือ IPv6 literal (เทียบข้อความแบบตรงกันเท่านั้น)
203.0.113.7
198.51.100.0/24
2001:db8::1การทำงาน เว้นว่าง (ส่งอาร์เรย์ [] ที่ว่างเปล่า) หมายถึงไม่จำกัด IP ต้นทาง นี่คือค่าเริ่มต้น พฤติกรรมของคีย์ที่มีอยู่จึงไม่เปลี่ยนแปลง
ระบบอ่าน IP ต้นทางจาก header `cf-connecting-ip`
หากรายการไม่ว่างแต่ไม่สามารถระบุ IP ต้นทางได้ คำขอจะถูกปฏิเสธ (fail-closed)
⚠️ สำคัญ: คำขอที่ถูกปฏิเสธจะได้เพียง 401 ทั่วไป
คำขอจากนอกรายการ หรือคำขอที่ระบุ IP ต้นทางไม่ได้ จะได้รับ HTTP 401 ทั่วไปแบบเดียวกับคีย์ไม่ถูกต้องทุกประการ และไม่มีข้อความผิดพลาดเฉพาะ นี่เป็นการออกแบบด้านความปลอดภัยโดยตั้งใจ เพื่อไม่ให้ผู้ที่ได้คีย์ไปทราบว่ามีรายการอนุญาตอยู่ ข้อเสียคือการตั้งค่าผิดจะมีอาการเหมือนคีย์ไม่ถูกต้องและแก้ไขได้ยากมาก ก่อนบันทึก โปรดยืนยันว่า IP ขาออกของเซิร์ฟเวอร์คุณอยู่ในรายการแล้ว
⚠️ สำคัญ: IPv6 รองรับเฉพาะการเทียบข้อความแบบตรงกัน
IPv6 ไม่มีการคำนวณ subnet และข้อความที่อยู่ต้องตรงกันทุกตัวอักษร หากที่อยู่ IPv6 เปลี่ยนแปลง คุณอาจถูกล็อกออก ช่วง CIDR /0–/32 รองรับเฉพาะ IPv4
การตั้งค่ามีผลเมื่อใด
หลัง PATCH หรือบันทึกใน UI สำเร็จ instance ที่อัปเดตจะล้างแคชทันที โดยปกติ instance อื่นจะซิงก์ภายในประมาณ 15 วินาที หาก Redis ที่ใช้ร่วมกันไม่พร้อมใช้งานชั่วคราว การล้างแคชระหว่าง instance จะส่งต่อไม่ได้ทันทีและอาจล่าช้าจนถึง TTL หนึ่งชั่วโมง