[nginx] Limiting the rate of requests and connection

26 Jun 2016,
Share: 

nginx สามารถ config ให้ limit จํานวน request และ connection ได้ ทั้งนี้เพื่อป้องกันการ request เข้ามามากๆเกินความเป็นจริงที่ client จะทําได้

Limiting the rate of requests

nginx สามารถ limit request ที่มาจาก client ได้ เช่น ถ้าเราต้องการจะกําหนดให้ใน 1 วินาทีสามารถเรียก page1.html ได้ไม่เกิน 5 ครั้ง สามารถเขียน config ได้ดังนี้

limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;

server {
    ...
    location /page1.html {
        limit_req zone=one;
    ...
    }
}

Limiting the Number of Connections

เราสามารถกําหนดจํานวน connection ที่เข้ามาต่อ 1 ip ได้ เช่น ถ้าต้องการให้ client แต่ละคนเข้าใช้งาน page2.html ได้ไม่เกิน 20 connection/minute สามารถ config ได้ดังนี้

limit_conn_zone $binary_remote_addr zone=addr:10m;

server {
    ...
    location /page2.html {
        limit_conn addr 20;
        ...
    }
}

Suggestion blogs

Emulate Ethernet Over USB เพื่อใช้ SSH ผ่าน USB Raspberry Pi

สวัสดีครับ ปกติแล้วเมื่อต้องการจะควบคุม Raspberry Pi เราก็จะต้องเชื่อมต่อ Raspberry Pi เข้ากับ Network แล้ว SSH ไปที่ Raspberry Pi แต่วันนี้เราจะมาใช้งาน SSH ผ่าน USB โดยไม่ต้องไปเชื่อมต่อกับ Network ให้ยุ่งยากวุ่นวาย เพียงแค่เรามีสาย USB เพียงเส้นเดียวก็สามารถ SSH เพื่อควบคุม Raspberry Pi ได้

วิธีลบ Directory ที่ภายในมีข้อมูลอยู่ Ubuntu

ปกติเมื่อเราต้องการลบ Directory ใน Ubuntu เราสามารถใช้คําสั่ง rmdir แต่ถ้าใน Directory ที่เราต้องการลบนั้นมีข้อมูล(File หรือ Directory) อยู่ภายในคําสั่ง rmdir จะไม่สามารถลบได้ ถ้าเราต้องการลบทั้ง Directory รวมถึงข้อมูลภายในด้วย เราสามารถใช้คําสั่งนี้

strncpy ในภาษา C, C++

strncpy เป็น function สําหรับ copy string จากตัวแปรต้นทางไปใส่ในตัวแปรปลายทางรูปแบบการใช้char *strncpy(char *dest, const char *src, size_t n) Parameter


Copyright © 2019 - 2025 thiti.dev |  v1.58.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ