ОНОВЛЕННЯ: Я додав переглянуте питання, розібравшись з ним двома відповідями нижче.
Привіт,
Якщо ви читаєте це, ви, ймовірно, знайомі з mod_proxy Apache та його функцією ProxyPass. Як і у багатьох інших, у мене виникає проблема наявності програми, до якої я можу отримати доступ із-за меж нашої внутрішньої мережі, але сам додаток отримує доступ до інших внутрішніх додатків на різних машинах, і коли ви потрапляєте у віддалений доступ із цією установкою, все стає непростим.
Отже, моя установка дуже проста, у мене є:
У машині №1 ввімкнено віддалений доступ, я отримую доступ до нього через ім'я хоста, і він випилює програму PHP, що працює на ньому.
Машина №2 - це новий додаток під керуванням Django, він використовує зовсім інший бекенд (навіть автентичний), він розміщений на окремій машині. У нашій інтрамережі ми отримуємо доступ до нього через просте ім'я хоста, яке в основному посилається на внутрішній ip 192.168.0.101.
Я намагався грати з ProxyPass, щоб налаштувати його, наприклад, перехід до / new надішле його новій програмі:
ProxyPass / новий http://192.168.0.101/
Цей вид працює, він отримує запит на інший додаток, але він порушується, тому що мій додаток Django хоче переспрямувати на / auth / login /, який він миттєво не розпізнає. Якщо я змінив URL-адресу на foo.net/new/auth/login, я отримаю свою сторінку входу, але, як ви здогадуєтесь, робити це під час перегляду не зручно.
Тож як я можу змусити ProxyPass працювати так, як я хочу? Чи потрібно мені щось робити з Apache, щоб він завжди писав / новий перед URL-адресою в іншому додатку, чи це щось, що я повинен змінити в моєму додатку Django?
Будь-які поради та вказівки також будуть вдячні. Дякую за ваш час