CẬP NHẬT: Tôi đã thêm một câu hỏi sửa đổi sau khi chơi xung quanh với hai câu trả lời dưới đây.
Xin chào
Nếu bạn đang đọc điều này, có lẽ bạn đã quen thuộc với mod_proxy của Apache và chức năng ProxyPass của Apache. Giống như nhiều người khác, tôi gặp vấn đề là có một ứng dụng mà tôi có thể truy cập từ bên ngoài mạng nội bộ của chúng tôi, nhưng chính ứng dụng đó truy cập các ứng dụng nội bộ khác trên các máy khác nhau và khi bạn truy cập từ xa với thiết lập này, mọi thứ sẽ trở nên khó khăn.
Vì vậy, thiết lập của tôi rất đơn giản, tôi có:
Máy số 1 có bật truy cập từ xa, tôi truy cập nó thông qua tên máy chủ và nó cho ra ứng dụng PHP chạy trên nó.
Máy số 2 là một ứng dụng mới chạy Django, nó sử dụng một phụ trợ hoàn toàn khác (thậm chí là auth), nó được lưu trữ trên một máy riêng biệt. Trong mạng nội bộ của chúng tôi, chúng tôi truy cập nó thông qua một tên máy chủ có tên đơn giản, về cơ bản liên kết với ip 192.168.0.101 bên trong.
Tôi đã thử chơi với ProxyPass để thiết lập nó, ví dụ, một pass đến / mới sẽ gửi nó đến ứng dụng mới:
ProxyPass / mới http://192.168.0.101/
Loại công việc này, nó nhận được yêu cầu cho ứng dụng khác, nhưng nó bị hỏng vì ứng dụng Django của tôi muốn chuyển hướng đến / auth / login /, mà nó không nhận ra ngay lập tức. Nếu tôi tự sửa đổi url thành foo.net/new/auth/login, tôi nhận được trang đăng nhập của mình, nhưng như bạn có thể đoán làm điều này trong suốt quá trình duyệt không thuận tiện.
Vậy làm thế nào tôi có thể khiến ProxyPass hoạt động như tôi muốn? Tôi có cần phải làm gì đó với Apache để nó luôn luôn ghi / mới trước url trong ứng dụng khác không, hay đây là thứ tôi nên sửa đổi trong ứng dụng Django của mình?
Bất kỳ lời khuyên và con trỏ cũng sẽ được đánh giá rất cao. cảm ơn vì đã dành thời gian cho tôi