Điểm:0

HAproxy không tìm thấy phụ trợ khi sử dụng cổng khác

lá cờ in

Tôi có hai phụ trợ là cùng một máy chủ chạy hai hình ảnh Docker giống nhau, nhưng mỗi phụ trợ có một cổng khác nhau. Nghĩa là, trên máy chủ phụ trợ, điểm khác biệt duy nhất giữa hai máy chủ là ánh xạ cổng. Bộ cân bằng tải của tôi (HAProxy) là một máy vật lý riêng biệt ở 10.0.0.2.

giao diện người dùng http-in
    ràng buộc *:80
    liên kết *:443 ssl crt /etc/ssl/mydomain.com/both.pem
    sơ đồ chuyển hướng yêu cầu http trừ khi { ssl_fc }

    acl Eighty_http hdr(host) -m beg -i Eighty.
    acl Eightyhundred_http hdr(host) -m beg -i Eightyhundred.

    use_backend 80 nếu 80_http
    use_backend Eightyhundred nếu Eightyhundred_http

phụ trợ tám mươi
    máy chủ hai mươi 10.0.0.20:80 kiểm tra maxconn 300

phụ trợ tám mươi trăm
    máy chủ hai mươi 10.0.0.20:8000 kiểm tra maxconn 300

Khi tôi Sudo systemctl restart haproxy, nó báo cho tôi biết rằng "phần phụ trợ tám mươi trăm không có máy chủ!" Tuy nhiên, tôi có thể cuộn thành công cả hai cổng từ bộ cân bằng tải.

Tôi đặt những thứ sau vào iptables:

Sudo iptables -A OUTPUT -p tcp -d 10.0.0.0/16 --sport 8000 -j CHẤP NHẬN

...và cho selinux:

sudo semanage port --add --type http_port_t --proto tcp 8000

không tạo ra sự khác biệt.

Tôi đang thiếu gì ở đây?

lá cờ in
Tôi muốn xem acls hơn, tôi không có bất kỳ kinh nghiệm nào với acls trong nginx, vì vậy tôi không thể giúp bạn ở đó, nhưng nếu bạn có thể tiếp cận phụ trợ thông qua curl thì đó không phải là vấn đề về iptables. Nếu máy chủ của bạn triển khai selinux, đó cũng có thể là một vấn đề.
lá cờ in
Đã mở 8000 trong selinux rồi.
lá cờ in
Vui lòng thử `setsebool -P haproxy_connect_any 1`
Điểm:0
lá cờ in

Tóm lại, vấn đề là bạn không thể chọn ngẫu nhiên một cổng để sử dụng cho chương trình phụ trợ của mình. Ở đây, 8000 đã được thêm vào soundd_port_t, đây là nhóm mà haproxy không có trong đó. Vì vậy, "sudo semanage port --add --type http_port_t --proto tcp 8000" không thực hiện được mục đích ở đây. Nó thực sự không làm được những gì bạn nghĩ rằng nó có thể đã làm khi thông báo rằng cổng này đã được thêm vào (nó đã được thêm vào một thứ khác). Giải pháp đơn giản là chọn các cổng mà HAProxy có quyền truy cập. Anh chàng này giải thích tất cả tốt nhất:

https://unix.stackexchange.com/questions/363878/ which-selinux-policies-apply-to-haproxy

lá cờ in
Trớ trêu thay, câu trả lời này tham chiếu lại [câu trả lời SF] này (https://serverfault.com/questions/654599/weird-interaction-with-systemctl-with-haproxy-on-centos-7/654684#654684), vì vậy chúng tôi rất có thể có thể đóng câu hỏi này như một bản sao của nó.

Đă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.