Điểm:4

Cân bằng tải NGINX: tên ssl ngược dòng

lá cờ tr

Tôi có cấu hình Nginx sau để cân bằng tải giữa các nút khác nhau. Tuy nhiên, khi tôi cố gắng chuyển hướng lưu lượng truy cập, tôi nhận được 502 Cổng xấu.

Bằng cách đọc nhật ký lỗi, tôi phát hiện ra rằng sự cố có liên quan đến thực tế là bộ cân bằng tải Nginx của tôi đang cố xác minh tính hợp lệ của chứng chỉ X509 KHÔNG PHẢI cho các nút khác nhau (backend1.example.com,backend2.example.com), nhưng đối với tên của thượng nguồn phụ trợ.example.com (không có số), dẫn đến lỗi hiển thị bên dưới.

Làm cách nào tôi có thể yêu cầu nginx sử dụng tên máy chủ của nút được chuyển tiếp, thay vì tên của nút ngược dòng?

NHẬT KÝ LỖI:

Chứng chỉ SSL ngược dòng không khớp với "backend.example.com" trong khi SSL bắt tay với ngược dòng...

CẤU HÌNH:

ngược dòng backend.example.com {
   less_conn;
   máy chủ phụ trợ1.example.com:443
   máy chủ phụ trợ2.example.com:443
}
người phục vụ {

        lắng nghe [::]:443 ssl ipv6only=on;
        nghe 443 ssl;
        server_name example.com;

        địa điểm / {
                proxy_pass https://backend.example.com;

                proxy_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
                bật proxy_ssl_session_reuse;
                bật proxy_ssl_verify;
                proxy_ssl_verify_depth 2;
                proxy_set_header Máy chủ lưu trữ $host;
        }
    ssl_certificate /etc/letsencrypt/.../fullchain.pem; # được quản lý bởi Certbot
    ssl_certificate_key /etc/letsencrypt/.../privkey.pem; # được quản lý bởi Certbot
    bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot

}
Điểm:3
lá cờ in

chỉ thị ngx_http_proxy_module bạn cần là proxy_ssl_name

Bạn có thể khắc phục sự cố đó bằng một số cách:

  1. Hãy thử thiết lập nó proxy_ssl_name $proxy_host;

  2. Sử dụng chứng chỉ ssl ký tự đại diện.

  3. Nếu nó trong mạng nội bộ, hãy sử dụng kết nối http để ngược dòng mà không cần mã hóa kép quá mức và chỉ cho phép http kết nối ở phía ngược dòng từ máy chủ proxy ngược của bạn

  4. Đặt cùng một chứng chỉ ngược dòng trên mỗi nút và đặt nó cho một tên dự kiến proxy_ssl_name backend.example.com;

AndreaCostanzo1 avatar
lá cờ tr
1. không hoạt động vì nó đặt `backend.example.com` 3. mạng không riêng tư, đây là lý do chính để mã hóa giữa các nút lb và nút phụ. Bạn có thể giải thích cách xử lý chứng chỉ ký tự đại diện không? (Tôi phải tạo một nút và sau đó sao chép nó trên mọi nút phụ trợ. Có thể thực hiện trực tiếp qua certbot không?)
lá cờ in
thử đổi tên phụ trợ ngược dòng từ tên FQDN thành "phụ trợ" chẳng hạn `proxy_ssl_name $proxy_host; phụ trợ proxy_pass; bật proxy_ssl; proxy_ssl_verify bật;`
lá cờ in
vâng, bạn có thể cấp chứng chỉ thẻ đại diện trực tiếp với certbot nhưng với xác thực bổ sung, chẳng hạn như với cloud flare dns nếu bạn sử dụng nó, hãy thử [bài viết] này(https://idolsgate.com/blog/wildcard-SSL-cert-with- letsencrypt-on-Centos-7/), nó hoạt động với tôi
AndreaCostanzo1 avatar
lá cờ tr
đổi tên không hoạt động. Tôi nghĩ giải pháp khả dụng duy nhất vẫn là sử dụng chứng chỉ SSL dùng chung
Điểm:1
lá cờ jp

Dựa theo nginx các nhà phát triển, bạn cần chia sẻ cùng một chứng chỉ TLS giữa tất cả các máy chủ phụ trợ. Xem báo cáo lỗi sau https://trac.nginx.org/nginx/ticket/1307#comment:5

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