Tôi đang cố gắng để haproxy sử dụng acls với SNI và nó không hợp tác. Nó trình bày đúng chứng chỉ nên SNI phải hoạt động. Tuy nhiên, tôi không thể lấy nó để chọn phụ trợ dựa trên tên máy chủ trong SNI.
Mà tôi kiểm tra cấu hình, tôi nhận được như sau
[CẢNH BÁO] (21486): Proxy 'fe-dr-totalflood.com': Các lần tìm nạp mẫu L6 bị bỏ qua trên proxy HTTP (được khai báo tại ./haproxy.cfg.tmp:176).
[CẢNH BÁO] (21486): Proxy 'fe-dr-totalflood.com': Các lần tìm nạp mẫu L6 bị bỏ qua trên proxy HTTP (được khai báo tại ./haproxy.cfg.tmp:177).
Cảnh báo đã được tìm thấy.
Tệp cấu hình hợp lệ
Tôi không biết ý nghĩa của các thông báo lỗi và tôi đã ghi chú bên cạnh các dòng tương ứng trong đoạn mã sau.
giao diện người dùng fe-dr-totalflood.com
chế độ http
ràng buộc 172.22.8.229:80
liên kết 172.22.8.229:443 ssl crt dr-www.totalflood.com.crt crt dr-xml.totalflood.com.crt
## chuyển hướng http->https
sơ đồ chuyển hướng yêu cầu http trừ khi { ssl_fc }
## danh sách kiểm soát truy cập
acl https ssl_fc
acl letsencrypt-acl path_beg /.well-known/acme-challenge/
acl www-acl req_ssl_sni dr-www.totalflood.com
acl xml-acl req_ssl_sni dr-xml.totalflood.com
# nếu Let's Encrypt, bỏ qua phần còn lại và chuyển sang phần phụ trợ
use_backend be-letsencrypt nếu letsencrypt-acl
use_backend be-dr-www.totalflood.com nếu www-acl <------ 176
use_backend be-dr-xml.totalflood.com nếu xml-acl <------ 177
default_backend be-no- such-site
#---------------------------------------------
phụ trợ be-dr-www.totalflood.com
chế độ http
thăng bằng vòng tròn
cookie SERVERID chèn tối đa nocache gián tiếp 30m
## đặt tên máy chủ trong tiêu đề
acl h_host_exists req.hdr(Host) -m đã tìm thấy
http-request del-header Host nếu h_host_exists
http-request set-header Máy chủ lưu trữ www.totalflood.com
kiểm tra máy chủ mặc định maxconn 100
máy chủ scadmzp2wb01 scadmzp2wb01.lereta.net:80 cookie scadmzp2wb01
#---------------------------------------------
phụ trợ be-dr-xml.totalflood.com
chế độ http
thăng bằng vòng tròn
cookie SERVERID chèn tối đa nocache gián tiếp 30m
## đặt tên máy chủ trong tiêu đề
acl h_host_exists req.hdr(Host) -m đã tìm thấy
http-request del-header Host nếu h_host_exists
http-request set-header Máy chủ lưu trữ xml.totalflood.com
kiểm tra máy chủ mặc định maxconn 100
máy chủ scadmzxml01 scadmzxml01.lereta.net:80 cookie scadmzxml01
#---------------------------------------------
phụ trợ be-letsencrypt
máy chủ cục bộ 127.0.0.1:8888
#---------------------------------------------
backend be-no-như-site
máy chủ cục bộ 127.0.0.1:8888
Khi tôi cố gắng truy cập một trong hai trang web, tôi luôn nhấn vào phụ trợ mặc định bất kể điều gì. Tôi đã kiểm tra điều này bằng cách thay đổi chương trình phụ trợ mặc định sang những nơi khác. Nếu tôi
nối thêm vào một trong hai url đường dẫn /.well-known/acme-challenge, haproxy dường như đưa tôi đến đúng địa chỉ.
Điều tôi không thể hiểu là tại sao acls dựa trên thông tin SNI không hoạt động.
Tôi đang sử dụng phiên bản 2.4.2 của haproxy OracleLinux 8.
$ haproxy -v
HAProxy phiên bản 2.4.2-553dee3 2021/07/07 - https://haproxy.org/
Tình trạng: nhánh hỗ trợ dài hạn - sẽ ngừng nhận fix khoảng Q2 2026.
Các lỗi đã biết: http://www.haproxy.org/bugs/bugs-2.4.2.html
Chạy trên: Linux 5.4.17-2136.304.4.1.el8uek.x86_64 #2 SMP Thứ ba ngày 8 tháng 2 11:54:24 PST 2022 x86_64