Điểm:0

việc thực thi haproxy của các dòng sau khi dòng từ chối yêu cầu http có dừng hay không?

lá cờ id

Tôi rất bối rối và không thể tìm ra câu trả lời: điều gì sẽ khiến việc thực thi các dòng cấu hình trong haproxy dừng lại hoặc tất cả sẽ được thực thi và đánh giá ở cuối?

Tôi đã có ấn tượng rằng nếu một điều kiện từ chối yêu cầu http [...] sẽ kích hoạt, nó sẽ dừng thực thi ngay tại đó, nhưng sau đó một số ví dụ không có ý nghĩa gì.

Ví dụ (từ tài liệu haproxy):

giao diện người dùng fe_main
   ràng buộc: 80

   # xác định bảng dính
   ip loại bảng dính kích thước 100k hết hạn cửa hàng 24h http_req_rate(5s),gpc0,gpt0

   # bắt đầu theo dõi các yêu cầu có khóa trong bảng
   # là IP nguồn của khách hàng
   http-yêu cầu theo dõi-sc0 src

   # khách hàng đã vượt quá 20 yêu cầu trong 5 giây chưa?
   acl vượt_rate_limit sc_http_req_rate(0) gt 20

   # gắn cờ họ nếu họ vượt quá giới hạn
   http-request sc-set-gpt0(0) 1 nếu vượt quá_rate_limit

   # nếu họ vượt quá giới hạn 3 lần, hãy đánh dấu họ là người tăng tốc đã biết
   acl known_speeder sc_get_gpc0(0) ge 3

   # từ chối tất cả khách hàng vượt quá giới hạn hoặc được biết là người tăng tốc
   yêu cầu http từ chối deny_status 429 nếu vượt quá_rate_limit || known_speeder

   # đếm mỗi khi họ vượt quá giới hạn nếu họ bị gắn cờ
   acl issue_speeding_ticket sc_get_gpt0(0) eq 1
   http-request sc-inc-gpc0(0) nếu issue_speeding_ticket

   # đặt lại cờ
   http-yêu cầu sc-set-gpt0(0) 0

   default_backend be_servers

Nếu từ chối yêu cầu http sẽ dừng thực thi (như tôi nghĩ), thì trong hai trường hợp, điều này sẽ không hoạt động như dự định, phải không?

  • Nếu máy khách đang gửi một lượng yêu cầu HTTP vượt quá giới hạn liên tục, acl vượt_rate_limit đánh giá là đúng vì vậy từ chối yêu cầu http sẽ làm cho sc-inc-gpc0 không thể truy cập dòng và không có vé tăng tốc sẽ được phát hành.
  • Nếu khách hàng vượt quá giới hạn tốc độ và sau đó dừng lại mãi mãi, sẽ không có giấy phạt quá tốc độ nào được cấp vì yêu cầu cuối cùng đã bị từ chối, tương tự như trường hợp trước.
  • Nếu khách hàng vượt quá giới hạn tốc độ và sau đó giảm tốc độ để không vượt quá giới hạn nữa (và do đó có hành vi trở lại), giấy phạt chạy quá tốc độ sẽ được cấp. Đây là điều ngược lại với những gì tôi mong đợi sẽ xảy ra.

Nếu từ chối yêu cầu http không dừng thực thi, thì sẽ rất mơ hồ về điều gì sẽ xảy ra với yêu cầu? Nếu khác thì sao yêu cầu http trận đấu dòng; người cuối cùng sẽ thắng?

Bức tranh lớn hơn ở đây là tôi đang cố gắng hoàn thành điều gì đó tương tự như trường hợp sử dụng ví dụ.Tôi cần một bảng liệt kê số lần IP nguồn đạt đến giới hạn tốc độ (nhưng chỉ được tính một lần để duy trì trạng thái vượt quá giới hạn tốc độ).

Tôi không tìm thấy nguồn có thẩm quyền về thứ tự thực thi quy tắc trong tệp cấu hình haproxy trong tài liệu. Có lẽ tôi đang thiếu một cái gì đó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.