Score:0

หลีกเลี่ยงขีดจำกัดคำขอสำหรับการเชื่อมต่อ CDN ในเซิร์ฟเวอร์ NGINX

ธง jp

ฉันจำเป็นต้องเค้นการเชื่อมต่อ/คำขอในเซิร์ฟเวอร์ NGINX สำหรับทั้งคำขอ http และ http2 อย่างไรก็ตาม การควบคุมปริมาณจะต้องไม่ใช้กับที่อยู่ IP เฉพาะของ CDN (ซึ่งมีอยู่แล้วในบล็อกทางภูมิศาสตร์)

ฉันมีการกำหนดค่าต่อไปนี้เพื่อเค้นคำขอ http/http2 เมื่อไม่มีข้อกำหนดเฉพาะของ CDN

แผนที่ $http2 $http1connlimitkey {
    ค่าเริ่มต้น "";
    "" $binary_remote_addr;
}

แผนที่ $http2 $http2connlimitkey {
    เริ่มต้น $binary_remote_addr;
    """";
}

อย่างใดอย่างหนึ่งของ http1connlimitkey และ http2connlimitkey คีย์ถูกตั้งค่าเป็น binary_remote_addr ขึ้นอยู่กับประเภทของการเชื่อมต่อ

ตอนนี้ โดยไม่คำนึงถึงประเภทการเชื่อมต่อ หากการเชื่อมต่อเริ่มต้นจาก CDN ฉันต้องตั้งค่าคีย์ด้านบนเป็นว่างเพื่อหลีกเลี่ยงการควบคุมปริมาณการเชื่อมต่อ

ฉันกำลังปฏิบัติตามแนวทางที่ให้ไว้ในโซลูชันนี้ จะ จำกัด อัตราใน nginx ได้อย่างไร แต่รวม / ไม่รวมที่อยู่ IP บางอย่าง เพื่อแมปที่มาของคำขอ

geo $รายการที่อนุญาตพิเศษ {
 เริ่มต้น 0;
 # CIDR ในรายการด้านล่างไม่จำกัด
 1.2.3.0/24 1;
 9.10.11.12/32 1;
}
แผนที่ $รายการที่อนุญาต $limit {
 0 $binary_remote_addr;
 1 "";
}

ฉันจะตั้งค่า http1connlimitkey และ http2connlimitkey ให้ว่างเปล่าหากคำขอมาจาก CDN

วิธีหนึ่งที่ฉันคิดว่าจะมีแผนที่ตามด้านล่าง

แผนที่ $รายการที่อนุญาตพิเศษ $cdn {
 0 ""
 1 "ซีดีเอ็น";
}

แผนที่ "$cdn$http2" $http1connlimitkey {
    "^ซีดีเอ็น" ""
    "" $binary_remote_addr;
    ค่าเริ่มต้น "";
}

แผนที่ "$cdn$http2" $http2connlimitkey {
    "^ซีดีเอ็น" ""
    เริ่มต้น $binary_remote_addr;
    """";
}

วิธีอื่นที่ดีกว่าในการจัดการแบบเดียวกัน ฉันต้องหลีกเลี่ยงทั้ง http และ http2 จำกัด ในกรณีที่คำขอมาจาก CDN

ขอบคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา