Я настроил сервер Apache в качестве обратного прокси-сервера, чтобы указать 2 разных DNS-имени для правильных серверов. Один из них отлично работает, это простая веб-страница с несколькими страницами.
В другом нет, это более сложная система, которая требует, чтобы пользователи сначала вошли в систему. Проблема с этой страницей началась, так как для доступа к ней мне нужно добраться до "10.105.27.230/app". Без /app не работает. Дело в том, что это приложение само установило apache и находится не в папке /var/www/, а в другом месте.
Прямо сейчас я могу попасть на страницу, но когда я пытаюсь войти на сайт example.com, он просто перенаправляет меня на example.com/app и показывает ту же страницу входа. Я думаю, что это как-то связано с моим прокси-пассом, но не могу найти правильную конфигурацию, так как впервые работаю с прокси.
Сначала, когда я пытался настроить обратный прокси (прокси-сервер), страница работала, но без css и изображений.
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyPass / http://10.105.27.230/app/
ProxyPassReverse / http://10.105.27.230/app/
</VirtualHost>
Я искал решения и думаю, что исправил это с помощью другого прокси-пасса перед исходным. После этого страница работает с css и изображениями, но после входа в систему она перенаправляется на example.com/app.
ProxyPass /app http://10.105.27.230/app/
ProxyPassReverse /app http://10.105.27.230/app/
ProxyPass / http://10.105.27.230/app/
ProxyPassReverse / http://10.105.27.230/app/
Если я перехожу непосредственно к http://10.105.27.230/приложение/, я могу войти в систему, и после входа в систему отображается эта ссылка http://10.105.27.230/приложение/#/домашний. А ссылка меняется только после /#/.
Как я могу заставить его работать правильно, чтобы я мог войти в систему и работать с системой с сайта example.com?
У меня была аналогичная проблема. Проблема была в том, что
Случилось так, что файлы cookie были удалены (параметр «Безопасный» означает, что файлы cookie не отправляются через HTTP, а отправляются только через HTTPS). Сервер приложений создал их, но они так и не попали в веб-браузер. Быстрое решение, позволяющее не скомпрометировать другие приложения, заключалось в том, чтобы изменить заголовок только для тестируемого приложения, то есть под «виртуальным прокси-хостом». Я добавил:
Header edit* Set-Cookie "(session=.*)(;Secure)" "$1"
Я никогда не использовал приложение без TLS, даже при тестировании. Так что это заняло у меня некоторое время, чтобы взломать.