Làm cách nào chúng tôi có thể hạn chế tốc độ tải lên / tải xuống nginx trên mỗi người dùng?


8

Có thể hạn chế tốc độ bằng cách sử dụng giới hạn tốc độ trên một vị trí cụ thể.

Tuy nhiên, làm thế nào chúng ta có thể làm điều đó một cách linh hoạt?

Giả sử bạn đã trả tiền so với người dùng không trả tiền và bạn muốn cung cấp băng thông cao hơn cho người dùng trả phí.

Chúng tôi sẽ cần kiểm tra động trong Cơ sở dữ liệu và cho phép một tốc độ nhất định cho nhóm người dùng cụ thể này.

Bạn có bất kỳ mô-đun nginx trong tâm trí?

Câu trả lời:


4

Có, bạn có thể đánh giá giới hạn ở một vị trí cụ thể.

location /something/ { 
    set $limit_rate  4k; 
}

Bạn cũng có thể bao quanh limite_rate bằng các câu lệnh như nếu cũng như để tự động kiểm soát tỷ lệ. Xem liên kết này để biết thêm chi tiết về tỷ lệ giới hạn: http://wiki.nginx.org/NginxHttpCoreModule#limit_rate

Có một mô-đun khác bạn nên chú ý: http://wiki.nginx.org/NginxHttpLimitZoneModule

Mô-đun đó cho phép bạn đặt giới hạn số lượng kết nối. Vì vậy, ngay cả khi bạn đặt giới hạn thấp, nếu họ chỉ có thể thực hiện 10 kết nối, giới hạn của bạn là khá vô nghĩa.

Tôi đề nghị bạn có người dùng riêng và công khai nhận các liên kết khác nhau để nginx có thể dễ dàng phân biệt giữa các loại người dùng và xác minh trong lớp ứng dụng của bạn để bảo mật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.