[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

ESP8266 คืออะไร?

ESP8266 คืออะไร?ESP8266 คือ โมดูล wifi ภายในมีเฟิร์มแวร์ทํางานในลักษณะ Serial-to-WiFi ที่ช่วยให้อุปกรณ์อื่นๆ เช่น MCU สามารถต่อเข้ากับ internet ได้โดยใช้ port serial(ขา Tx, ขา Rx) และใช้คําสั่ง AT ในการควบคุมการทํางาน ต่อมาผู้พัฒนาได้พัฒนาเฟิร์มแวร์ NodeMcu ให้เป็น platform และใช้ภาษา LUA ในการเขียนโปรแกรม ด้วยความที่เป็น platform ที่สะดวกต่อการใช้งาน ทางผู้พัฒนาจึงจับ NodeMcu(ESP8266) ใส่เป็นบอร์ดหนึ่งใน Arduino IDE ด้วยซะเลย และได้พัฒนาให้สามารถเขียนโปรแกรมด้วยภาษา C/C++ สำหรับใครที่ใช้งาน Arduino อยู่แล้วสามารถใช้งานบน Arduino IDE ได้อย่างไม่อยากครับ

ทดสอบประสิทธิภาพของ web server ด้วย Apache Benchmark (Ab)

เมื่อเราพัฒนา web site หนึ่งขึ้นมา เราจะรู้ได้อย่างไรว่าเว็บเรามีความเร็วในการทํางานมากน้อยแค่ไหน หรือแม้กระทั่ง Server ของเราทํางานได้ดีแค่ไหน สามารถรองรับ user ได้เท่าไร โดยปกติเมื่อเราติดตั้ง Apache จะมี tool ตัวนึงชื่อว่า ab (Apache Benchmark) ติดมาด้วย ซึ่ง tool ตัวนี้สามารถจําลองการเรียกใช้งานเว็บตาม path ที่เราระบุ

Config proxy for docker

สวัสดีครับ บทความนี้เป็นเรื่องเกี่ยวกับการใช้ Docker ผ่าน Proxy เราจะมาดูถึงวิธีการ Config กันครับ ซึ่งวิธีการ Config proxy ให้กับ Docker นั้นไม่ยาก ทําตามขั้นตอนนี้ได้เลย


Copyright © 2019 - 2026 thiti.dev |  v1.60.0 |  Privacy policy | 

Build with ❤️ and Astro.

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