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

HAProxy - схема перенаправления на HTTPS с сохранением того же метода HTTP (POST)

Я использую HAProxy 1.6

Я заставляю использовать https. Поэтому в моем бэкэнде я перенаправляю http на https. Для этого я использую следующий код:

backend my-app-name
    redirect scheme https if !{ ssl_fc }
    [...]

Это работает хорошо, но если мой http-запрос выполняется с использованием метода POST, кажется, что схема перенаправления изменит метод на GET.

Я видел это в документация HAProxy Что касается перенаправления HTTP, мы можем изменить код HTTP на 308. Но я не могу изменить поведение моего текущего приложения.

Как я могу перенаправить на https с помощью HAProxy и сохранить исходный HTTP-метод?

как вы почти сказали, вы можете сделать следующее:

backend my-app-name
       redirect scheme https code 308 if !{ ssl_fc }

haproxy вернет 308 (вместо 302). Я не знаю, как задействовано ваше приложение. Если он находится за haproxy, он никогда не заметит первые запросы, отличные от https. И, например, любой браузер выполнит второй запрос через https и тот же HTTP-глагол, то есть сохранит POST.