Điểm:0

haproxy không hoạt động khi nâng cấp lên phiên bản 2.2 (reqadd không còn tồn tại nữa)

lá cờ th

[Tôi đã đăng nhầm câu hỏi này lên stackoverflow]

Trên máy chủ debian buster của tôi, tôi có một haproxy hoạt động hoàn hảo (v1.8), mà tôi sử dụng để quản lý chứng chỉ cho các trang web của mình.

haproxy lắng nghe cổng 443 và chuyển yêu cầu tới hệ thống vecni+apache.

Khi nâng cấp lên debian bullseye, dịch vụ haproxy (v2.2) không khởi động nữa và nhật ký cho biết:

haproxy[46308]: [ALERT] 048/004148 (46308) : phân tích cú pháp [/etc/haproxy/haproxy.cfg:46] : Lệnh 'reqadd' không được hỗ trợ nữa kể từ HAProxy 2.1. Sử dụng 'http-r
equest add-header' thay thế.

Các dòng haproxy.cfg chịu trách nhiệm cho hành vi này là

giao diện người dùng https
# Liên kết 443 với chứng chỉ letencrypt đã tạo.
        liên kết *:443 ssl crt /etc/letsencrypt/live/qumran2/haproxy.pem
        # đặt chuyển tiếp x thành https
        reqadd X-Forwarded-Proto:\ https <--------|
        # đặt X-SSL trong trường hợp ssl_fc <- được giải thích bên dưới
        http-request set-header X-SSL %[ssl_fc]
        # Chọn một Thử thách
        acl letsencrypt-acl path_beg /.well-known/acme-challenge/
        # Sử dụng chương trình phụ trợ thử thách nếu thử thách được đặt
        default_backend www-phụ trợ

Tôi hiểu rằng tôi phải thay đổi reqadd X-Forwarded-Proto:\ https dòng, nhưng làm thế nào?

Các tài liệu Nói:

tiêu đề bổ sung yêu cầu http <name> <fmt> [ { if | trừ khi } <điều kiện> ]
Thao tác này sẽ nối thêm trường tiêu đề HTTP có tên được chỉ định trong <name> và
có giá trị được xác định bởi <fmt> tuân theo các quy tắc định dạng nhật ký (xem
Định dạng nhật ký tùy chỉnh trong phần 8.2.4). Điều này đặc biệt hữu ích để vượt qua
thông tin cụ thể về kết nối tới máy chủ (ví dụ: SSL của máy khách
chứng chỉ) hoặc để kết hợp nhiều tiêu đề thành một. Quy tắc này không phải là
cuối cùng, vì vậy có thể thêm các quy tắc tương tự khác. Lưu ý rằng tiêu đề
phép cộng được thực hiện ngay lập tức, do đó, một quy tắc có thể sử dụng lại kết quả
tiêu đề từ một quy tắc trước đó.

Tôi không thể hiểu làm thế nào tôi nên viết tương đương tiêu đề bổ sung yêu cầu http...

Điểm:0
lá cờ pe

Tôi nghĩ bạn chỉ có thể sử dụng:

http-request set-header X-Forwarded-Proto https

Như đã thảo luận ở đây:

https://stackoverflow.com/questions/51928504/x-forwarded-proto-https-in-frontend-or-backend-haproxy

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