Назад | Перейти на главную страницу

Перенаправление на Apache (поддержка параметров POST)

На моем сервере установлен Apache, и мне нужно перенаправить с http на https. Причина этого в том, что наше решение для балансировки нагрузки не может передавать https, поэтому запросы поступают по http, а затем мы передаем их на https, используя следующие строки в файле httpd.conf.

<VirtualHost 10.1.2.91:80>
     Redirect 302 /GladQE/link https://glad-test.com/GladQE/link.do
</VirtualHost>

Это отлично работает для запросов GET, но запросы POST теряют параметры, переданные в URL-адресе. Каким будет самый простой способ выполнить это перенаправление и сохранить параметры POST?

Мне нужно получить от http://glad-test.com/GladQE/link.do сюда https://glad-test.com/GladQE/link.do поддержание параметров POST

Спасибо

Том

Как указано в RFC 2616, раздел 10.3, если ответ на запрос POST является перенаправлением (301, 302, 303 или 307), пользовательский агент НЕ должен повторять POST в новом месте.

Ваша единственная надежда на повторение POST будет заключаться в том, что первый ответ вернет некоторый JavaScript, который автоматически повторно отправит данные формы в новом месте.

Однако, учитывая, что вы уже обнародовали данные формы через открытый текст HTTP, на самом деле нет особого смысла продолжать сеанс через HTTPS. Вам действительно следует начать раньше и предоставить пользователю исходную форму через HTTPS.