Перенаправление предназначено специально для информирования клиента (например, веб-браузера) о том, что выполнить запрос GET с использованием заданного URL-адреса, поэтому результатом перенаправления не может быть PUT, POST, DELETE или любой другой метод HTTP.
В этом контексте основной целью перенаправления на HTTPS является обеспечение безопасности соединение от слежки, то есть гарантировать, что никто не сможет увидеть конфиденциальную информацию. Это хорошо работает для GET, поскольку вы еще не отправили конфиденциальную информацию1, предполагая, что это ответ, содержащий конфиденциальную информацию.
Перенаправление PUT или POST на HTTPS бессмысленно, поскольку вы уже отправили полезную нагрузку (конфиденциальные данные) по незащищенному соединению.
Вашему клиенту нужно указать использовать HTTPS перед отправкой данных, т.е. когда он создает запрос PUT / POST, ему необходимо предоставить URL HTTPS.
Исправьте код клиента, например код JavaScript, который генерирует HTTP PUT, чтобы он использовал HTTPS. Перенаправление происходит слишком поздно и совершенно неверно.
На самом деле хорошо, что перенаправление PUT не удалось, потому что это заставляет вас правильно защищать свое веб-приложение. Если бы это не сработало, вы бы ошибочно подумали, что ваше веб-приложение защищено перенаправлением, хотя на самом деле это не так.