Điểm:0

Đảo ngược proxy để hướng những người dùng khác nhau đến các vị trí tương ứng

lá cờ gt
kyb

Tôi có một máy chủ. Một trong những chức năng của nó là SyncThing. Ứng dụng này không có ủy quyền cho mỗi người dùng, chỉ có quản trị viên. Vì vậy, tôi quyết định chạy các phiên bản Syncthing khác nhau cho từng người dùng.

Đối với quy trình ủy quyền, tôi muốn sử dụng tên người dùng và mật khẩu unix (từ/etc/passwd).

Tôi muốn sử dụng nginx làm proxy ngược và trình xác minh ủy quyền. Bạn có thể vui lòng xác minh ý tưởng của tôi và giúp tôi với các ví dụ.

Bố cục dịch vụ mẫu:

  • Syncthing user1 lắng nghe trên 127.0.0.1:8384
  • Syncthing user2 nghe trên 127.0.0.1:8385
  • Syncthing user3 lắng nghe trên 127.0.0.1:8386
  • Nginx (hoặc khác) lắng nghe trên tất cả các giao diện bao gồm cả IPv6 trên cổng HTTPS mặc định 0.0.0.0:433

Địa chỉ sẽ là https://synxrage.local/syncthing. Cổng không bao giờ được xuất hiện trong URL.

Tùy thuộc vào proxy người dùng được ủy quyền thành công sẽ chuyển hướng đến cổng nội bộ khác nhau và người dùng sẽ thấy bảng quản trị của mình.

vidarlo avatar
lá cờ ar
Điều này có trả lời câu hỏi của bạn không? [Làm cách nào tôi có thể chuyển tiếp yêu cầu từ máy chủ web của mình?](https://serverfault.com/questions/1035016/how-can-i-forward-requests-from-my-web-server)
lá cờ in
@vidarlo không thực sự. Vấn đề thực tế (sử dụng các chương trình phụ trợ khác nhau cho những người dùng được xác thực khác nhau) không được giải quyết ở đó. Tôi không biết nếu điều đó thậm chí có thể.
lá cờ in
[vé này](https://trac.nginx.org/nginx/ticket/439) gợi ý biến [`$remote_user`](http://nginx.org/en/docs/http/ngx_http_core_module.html#var_remote_user ). Có thể sử dụng điều này để xác định máy chủ phụ trợ sẽ sử dụng.
kyb avatar
lá cờ gt
kyb
cảm ơn các bác đã cho ý kiến
Điểm:1
lá cờ in

Được rồi, điều này làm tôi khó chịu và nó thực sự khá dễ dàng khi sử dụng $remote_user Biến đổi.

Để bật PAM auth, bạn cần thực hiện một số việc:

Cài đặt nginx-bổ sung:

sudo apt -y cài đặt nginx-bổ sung

Tạo ra /etc/pam.d/nginx và thêm nội dung sau:

auth bao gồm common-auth
tài khoản bao gồm tài khoản chung

Cho phép nginx đọc tệp bóng:

sudo usermod -aG bóng www-dữ liệu

Hướng dẫn tìm thấy ở đây.

Bây giờ bạn có thể cấu hình nginx

# định cấu hình một lần ngược dòng cho mỗi người dùng
# cung cấp cho nó tên của người dùng đăng nhập

người dùng ngược dòng {
    máy chủ cục bộ: 8384;
}

người dùng ngược dòng {
    máy chủ cục bộ: 8385;
}

người dùng ngược dòng {
    máy chủ cục bộ: 8386;
}

# hiện định cấu hình proxy ngược thực tế

người phục vụ {
    nghe 80 default_server;

    địa điểm / {
        # thêm xác thực pam
        auth_pam "Xác thực PAM";
        auth_pam_service_name "nginx";

        # định cấu hình proxy ngược để kết nối với chương trình phụ trợ cho mỗi người dùng
        proxy_pass http://$remote_user;
    }
}
kyb avatar
lá cờ gt
kyb
Có cách nào để quản lý ngược dòng một cách linh hoạt. Ý tôi là thêm hoặc xóa người dùng tùy thuộc vào việc thay đổi danh sách người dùng khi chạy. Tôi thậm chí còn nghĩ về một phép toán dựa trên UID: UID-1000+8384? trong đó UID là ID người dùng Linux. Người dùng đầu tiên thường có id 1000.
kyb avatar
lá cờ gt
kyb
Cảm ơn bạn rất nhiều!!

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