LINUX.ORG.RU
решено ФорумAdmin

mod_proxy теряет слэш

 , ,


0

1

Добра всем. Есть редмайн (http://redmine.org), работает на thin веб-сервере (допустим на http://127.0.0.1:8080/project/). Работает нормально, без задоринок. Пытаюсь сделать прокси, чтобы можно было к редмайну ходить на https://example.com/project/ :

<Location /project/>
    ProxyRequests Off
    ProxyPass http://127.0.0.1:8080/project/ retry=0 timeout=5
    ProxyPassReverse http://127.0.0.1:8080/project/
</Location>
(это внутри виртуального хоста example.com:443, который тоже вроде настроен и работает нормально)

Теперь проверяю wget:

wget https://example.com/project/

--2013-07-20 08:56:19--  https://example.com/project/
HTTP-запрос отправлен. Ожидание ответа... 302 Moved Temporarily
Адрес: http://example.com/project/login?back_url=http%3A%2F%2Fexample.com%2Fproject%2F [переход]

--2013-07-20 08:56:19--  http://example.com/project/login?back_url=http%3A%2F%2Fexample.com%2Fproject%2F
HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently
Адрес: https://example.comproject/login?back_url=http%3A%2F%2Fexample.com%2Fproject%2F [переход]

--2013-07-20 08:56:19--  https://example.comproject/login?back_url=http%3A%2F%2Fexample.com%2Fproject%2F
Распознаётся example.comproject (example.comproject)... ошибка: Имя или служба не известны.
wget: не удаётся разрешить адрес «example.comproject»

Т.е. при редиректе mod_proxy (или rails app?) «зажевывает» слеш после доменного имени, перед директорией. В браузере соотв. то же самое. При этом, если задать запрос на конкретно URL https://example.com/project/login?back_url=http://example.com/project/ то все работает, значит проблема именно в редиректах. Редиректами занимается ProxyPassReverse насколько я понял, но даже её простое отключение поведения не меняет. Игра со слешами в конфиге апача ни к чему не приводит. Я так понимаю надо сделать Rewrite в ProxyPassReverse, но не силен в этом. Any suggestions?

★★★★★

ну и как обычно это бывает, разобрался пока писал: надо включить модуль headers, и вписать

RequestHeader set X_FORWARDED_PROTO «https»

в вирт.хост.
Может кому и пригодится.

dib2 ★★★★★
() автор топика
Последнее исправление: dib2 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.