câu hỏi thực sự nhanh chóng liên quan đến reqrep HAProxy. Tôi đang cố gắng viết lại / thay thế yêu cầu được gửi đến phụ trợ.
Tôi có ví dụ tên miền và URI sau đây, cả hai đều chia sẻ cùng một tên miền, nhưng các nhóm máy chủ web phụ trợ khác nhau.
http://domain/web1
http://domain/web2
Tôi muốn web1 truy cập webfarm1 và web2 để truy cập webfarm2. Hiện tại điều này không xảy ra. Tuy nhiên, tôi muốn loại bỏ URI web1 hoặc web2 khi yêu cầu được gửi đến phụ trợ.
Đây là haproxy.cfg của tôi
frontend webVIP_80
mode http
bind :80
#acl routing to backend
acl web1_path path_beg /web1
acl web2_path path_beg /web2
#which backend
use_backend webfarm1 if web1_path
use_backend webfarm2 if web2_path
default_backend webfarm1
backend webfarm1
mode http
reqrep ^([^\ ]*)\ /web1/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1 10.0.0.10:80 weight 5 check slowstart 5000ms
server webtest2 10.0.0.20:80 weight 5 check slowstart 5000ms
backend webfarm2
mode http
reqrep ^([^\ ]*)\ /web2/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1-farm2 10.0.0.110:80 weight 5 check slowstart 5000ms
server webtest2-farm2 10.0.0.120:80 weight 5 check slowstart 5000ms
Nếu tôi đi đến http://domain/web1
hoặc http://domain/web2
tôi thấy nó trong nhật ký lỗi rằng yêu cầu trên máy chủ trong mỗi phụ trợ mà requst dành cho tài nguyên / web1 hoặc / web2 tương ứng. Do đó, tôi tin rằng có điều gì đó không đúng với biểu thức thông thường của mình, mặc dù tôi đã sao chép và dán nó từ Tài liệu. http://code.google.com.vn/p/haproxy-docs/wiki/reqrep
Tóm tắt: Tôi đang cố định tuyến lưu lượng dựa trên URI, tuy nhiên tôi muốn HAProxy loại bỏ URI khi nó gửi yêu cầu đến nhóm phụ trợ.
Cảm ơn bạn!
-Jim