dmtr писал(а):kharkov_max писал(а):На сколько я знаю ProxyPass может проксировать с порта на порт и на другой хост, но не может изменить url ссылки.
Вот поэтому и не подходит
разве это не то что нужно:
соответственно у вас будет
Код: Выделить всё
ProxyPass /mysite/ http://192.168.0.1:8080/
Так пробовал делать. Получается так.
Отображается первая страница внутреннего сайта, логин/пароль, и после ввода идет переход на _htp://my.host.ru/login.html и ошибка.
FiL писал(а):kharkov_max писал(а):Так
Код: Выделить всё
RewriteRule ^(.*)/mysite(/*)$ http://192.168.0.1:8080/$2 [P]
Стала нормально отображаться стартовая страница внутреннего сайта (логин/пароль)
Но после его ввода сайт переходит на tp://my.host.ru/login.html и ошибка.
A это от прокси не зависит. Сервер посылает клиенту ссылку в контенте и прокся этого поменять не может.
Если там ссылка идет как /login.html, то клиент и пытается перейти на /login.html на текущем сайте.
Хорошо еще, что ссылка не идет в виде
http://192.168.0.1:8080/login.html потому как тогда оно-бы вообще в ебеня уходило.
Надо править сами странички на сервере и менять ссылки на относительные. Без этого никуда.
Что Вы имеете ввиду под сервером ?
Внутренний сайт, или apache который в инет смотрит ? (Внутренний сайт это виндузятная софтина которую изменить нельзя ...)
На сколько я понимаю теорию мне нужно.
1. Преобразовывать ссылку, от обратного прокси apache к внутреннем серверу.
2. Проксировать запрос на другой порт внутреннего сетвера. RewriteRule .... [P]
Это правило:
Код: Выделить всё
RewriteRule ^(.*)/mysite(/*)$ http://192.168.0.1:8080/$2 [P]
по сути повторяет это
Код: Выделить всё
ProxyPass /mysite/ http://192.168.0.1:8080/