[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

เรื่อง config login ssh ของ user root

สําหรับบทความนี้เป็นบทความสั้นๆนะครับ เป็นเรื่องเกี่ยวกับการ config เพื่อกําหนดการ login ssh ของ user root โดยเราจะแก้ไข file config นี้ "/etc/ssh/sshd_config" ผมจะแบ่งการ config เป็นสองหัวข้อคือ

Go EP.8 Go Channel Select Multiple Communication Operations

สวัสดีครับ ในบทความนี้ก็เป็น EP.8 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Channel Select Multiple Communication Operationsสําหรับท่านใดที่ยังไม่ได้อ่าน EP.7 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.7 Go Unit Testingในบทความก่อนหน้านี้เราได้เรียนรู้เรื่องการใช้งาน Go Channel กันไปแล้ว จะเห็นว่าถ้าเราต้องการส่งข้อมูลมากกว่า 1 Channel อาจจะทําเกิด blocking การทำงาน เมื่อ Channel ใด Channel หนึ่งไม่มีการรับส่งข้อมูล หรือไม่สามารถส่งข้อมูลได้อีก สิ่งที่จะมาช่วยให้โปรแกรมของเราทํางานต่อไปได้ก็คือ Select statement เรามาดูวิธีการใช้งานตามหัวข้อด้านล่างเลยครับ

HTTP status codes

error code หรือ status code ที่ server ส่งกลับมาเมื่อเราเปิดเว็บ จะมีความหมายดังนี้


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

Build with ❤️ and Astro.

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