Điểm:0

Đa dịch vụ với các cổng khác nhau cách định cấu hình proxy nginx

lá cờ in

Tôi có cấu trúc sau:

ip công khai <-> máy chủ vm <-> vms

Có hai vms: vm1_proxy_nginx vm2_service_docker_vm (dùng cổng 9000-9005)

Service_VM là một máy chủ bảng điều khiển đang hoạt động trên các cổng bị lộ 9001,9002 và 9005 để xác thực, đăng nhập và giao tiếp ghi dữ liệu giữa người dùng và vm.

Bây giờ tôi đã chuyển hướng trong nginx proxy ngược http và https đến /9001 để đăng nhập.

Sau đó, tôi phát hiện ra rằng cấu hình này dẫn đến các vấn đề vì liên lạc lại không được cung cấp (sau khi đăng nhập thành công, máy chủ chuyển hướng đến dịch vụ bảng điều khiển 9002)

https://ip.ip.ip.io:9002/?token=

Có ai đó có ý tưởng làm thế nào để xử lý vấn đề này mà không làm mất các vấn đề về bảo mật và ssl không?

Tôi biết việc triển khai lại dịch vụ không sử dụng các cổng bị lộ như thế này, nhưng trong khi đó tôi cần một giải pháp....

Điểm:0
lá cờ br

Cách dễ nhất để giải quyết vấn đề này là giữ nguyên tất cả các cổng tiêu chuẩn và chỉ tạo 2 khối máy chủ trong cấu hình của bạn, một khối cho mỗi cổng, đóng vai trò là proxy ngược chuyển tiếp tất cả lưu lượng truy cập đến cổng mục tiêu. Ví dụ:

người phục vụ {
        nghe 9001 ssl http2;
        ssl_certificate *đường dẫn đến chứng chỉ*;
        ssl_certificate_key *patch-to-private-key;
        server_name xyz.yourdomain.com;

              proxy_set_header Máy chủ lưu trữ $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_pass http://*ipofupstreamserver*:9001;
}

người phục vụ {
        nghe 9002 ssl http2;
        ssl_certificate *đường dẫn đến chứng chỉ*;
        ssl_certificate_key *patch-to-private-key;
        server_name xyz.yourdomain.com;

              proxy_set_header Máy chủ lưu trữ $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_pass http://*ipofupstreamserver*:9002;
}

người phục vụ {
        nghe 9005 ssl http2;
        ssl_certificate *đường dẫn đến chứng chỉ*;
        ssl_certificate_key *patch-to-private-key;
        server_name xyz.yourdomain.com;

              proxy_set_header Máy chủ lưu trữ $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_pass http://*ipofupstreamserver*:9005;
}

Tất nhiên, bạn có thể phải điều chỉnh xem bạn muốn sử dụng http hay https để liên lạc ngược dòng hoặc bạn có thể đặt giao diện người dùng sẽ hiển thị giao diện đăng nhập trên một cổng tiêu chuẩn 443 nếu nó phải đối mặt công khai và có rất nhiều tùy chọn khác để tinh chỉnh nhưng điều này sẽ giúp bạn bắt đầu.

user3882511 avatar
lá cờ in
cảm ơn vì đã được giúp đỡ. lắng nghe 9001 có nghĩa là tôi cũng phải mở cổng này hay? nếu tôi chỉ muốn sử dụng các cổng kết nối mặc định là 80 và 443. Và sử dụng rproxy để kết nối với các cổng dịch vụ nội bộ 9001, 9002, 9005 Điều này có thể không?
lá cờ br
@ user3882511 tốt nếu ứng dụng của bạn hoạt động mà không có các cổng đó thì có. Nếu nó yêu cầu các cổng đó, thì không. vấn đề là nếu ứng dụng của bạn giả định rằng nó có thể sử dụng các cổng đó và hướng dẫn trình duyệt tạo kết nối với các cổng đó nhưng chúng bị chặn, thì không thể thiết lập kết nối nào... do đó mọi thứ có thể sẽ không hoạt độ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.