2015-04-19 20 views
6

Tôi có một điều kiện đơn giản trong cấu hình HAproxy của tôi (Tôi đã thử này cho frontendbackend):Thêm tiêu đề để đáp ứng cho các URL cụ thể với HAproxy

acl no_index_url path_end .pdf .doc .xls .docx .xlsx 
rspadd X-Robots-Tag:\ noindex if no_index_url 

Nó nên thêm không tiêu đề robot đối với nội dung không được lập chỉ mục. Tuy nhiên nó mang lại cho tôi WARNING này khi phân tích các cấu hình:

acl 'no_index_url' will never match because it only involves keywords 
    that are incompatible with 'backend http-response header rule' 

acl 'no_index_url' will never match because it only involves keywords 
    that are incompatible with 'frontend http-response header rule' 

Theo documentation, rspadd có thể được sử dụng trong cả frontendbackend. path_end được sử dụng trong các ví dụ bên trong giao diện người dùng. Tại sao tôi nhận được lỗi này và nó có nghĩa là gì?

Trả lời

12

Bắt đầu từ HaProxy 1.6 bạn sẽ không thể bỏ qua thông báo lỗi. Để sử dụng tính năng này tạm thời, hãy sử dụng tính năng biến tạm thời:

frontend main 
    http-request set-var(txn.path) path 

backend local 
    http-response set-header X-Robots-Tag noindex if { var(txn.path) -m end .pdf .doc } 
+1

Bạn đã lưu ngày của tôi :) – Yajo

1

Rõ ràng, ngay cả với cảnh báo, có acl trong giao diện người dùng hoạt động hoàn toàn tốt. Tất cả các tài nguyên có .pdf, .doc, v.v. đều nhận được đúng số X-Robots-Tag được thêm vào.

Nói cách khác, điều này WARNING là gây hiểu lầm và trong thực tế, aclkhông phù hợp với.

+0

Chỉ cần lưu ý cho bất kỳ ai xem qua điều này, trong 1.6.2 nó thêm tiêu đề bất chấp cảnh báo nhưng cũng thêm vào bất kỳ phản hồi nào không phù hợp với quy tắc tin rằng nó thực sự bị bỏ qua. Đó là trường hợp của tôi dù sao, tôi đã sử dụng một 'trừ khi' nếu điều đó tạo nên sự khác biệt. Câu trả lời được chấp nhận làm việc cho tôi vì vậy hãy thử điều đó. – James

Các vấn đề liên quan