Điểm:0

NGINX passpass TLS IP thực?

lá cờ cn

Tôi đã tự hỏi nếu ai đó có thể làm sáng tỏ vấn đề tôi đang gặp phải,

Hiện tại tôi đang thử nghiệm chuyển TLS qua máy chủ zimbra của tôi vì SSL phải có trong máy chủ zimbra và một trang web wordpress khác cũng có SSL

thiết lập sẽ thế này

INTERNET--------NGINX PROXY-------ZIMBRA và ------ TRANG WEB WORDPRESS

Tôi đã định cấu hình thành công proxy nginx thành mật khẩu TLS nhưng tôi đã kiểm tra nhật ký và có vẻ như không chuyển IP thực sang zimbra hoặc wordpress

Nhưng không thể hiểu được vì nó không cho phép tôi gửi tiêu đề proxy vì tôi đang sử dụng mật khẩu TLS

     root@bunker:~# cat /etc/nginx/modules-enabled/passtru.conf
       dòng {

        bản đồ $ssl_preread_server_name $name {

       wordpress.domain.com wordpress;
        mail.domain.com zimbra;
        https_default_backend mặc định;
    }

    thượng nguồn wordpress {
        máy chủ 192.168.7.35:443;
    }

    ngược dòng zimbra {
        máy chủ 192.168.7.245:443;
    }
log_format cơ bản '$remote_addr [$time_local] '
             '$protocol $status $bytes_sent $bytes_received '
             '$session_time "$upstream_addr" '
             '"$upstream_bytes_sent" "$upstream_bytes_received"
              "$upstream_connect_time"';

access_log /var/log/nginx/access.log cơ bản;
error_log /var/log/nginx/error.log;

    người phục vụ {
        nghe 443;
        proxy_pass $name;
        bật proxy_next_upstream;
        ssl_preread on;
    }
}
Điểm:1
lá cờ us

Bạn không thể chuyển qua địa chỉ IP khi bạn chuyển qua TLS.

Với thông qua TLS, kết nối TCP bị chấm dứt tại proxy thông qua TLS. Điều này có nghĩa là kết nối TCP giữa máy khách và proxy. Để đến được máy chủ đích, proxy sẽ mở kết nối TCP đến đích thực. Trong kết nối này, địa chỉ IP nguồn là địa chỉ IP của proxy.

Với HTTP, có thể thêm địa chỉ IP ban đầu vào trường tiêu đề HTTP. TLS không có bất kỳ trường nào như vậy. Do đó, thông tin duy nhất có sẵn cho đích thực tế là địa chỉ IP nguồn của kết nối TCP, là máy chủ proxy.

Một số tùy chọn để lấy địa chỉ IP:

  1. Xóa proxy thông qua TLS và sử dụng địa chỉ IP riêng cho từng dịch vụ.
  2. Chấm dứt TLS tại máy chủ proxy và thêm tiêu đề HTTP với địa chỉ IP gốc
  3. Bạn có thể sử dụng giao thức PROXY giữa phiên bản nginx này và các máy chủ ngược dòng. https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/ có thông tin liên quan đến điều đó.
killmasta93 avatar
lá cờ cn
Cảm ơn bạn đã trả lời, vì vậy nó sẽ không hoạt động giống như HAproxy vì tôi có thể lấy IP thực bằng cách sử dụng cùng một thiết lập, đối với tùy chọn 2 khi bạn nói chấm dứt TLS không chắc ý của bạn là gì
lá cờ us
Tôi không có kinh nghiệm với HAProxy, nhưng bài báo tôi liên kết đã giải thích rằng HAProxy sử dụng giao thức PROXY. Nghĩa là, bạn có thể sử dụng tùy chọn 3. Bằng cách chấm dứt TLS, ý tôi là máy chủ proxy có tất cả chứng chỉ & khóa cho tất cả các miền mà nó ủy quyền, sau đó nó tạo các kết nối HTTP/HTTPS riêng biệt tới máy chủ ngược dòng.

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