[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
...