Мое приложение отправляло запрос с полем заголовка "Content type"
[sic] и значение "form-data"
[sic] на сервер. Хотя это кажется неправильным - похоже, это не вызывало никаких проблем еще пару дней назад. Затем что-то произошло (администратор установил обновление безопасности или около того), и теперь сервер лампы возвращается 400 bad request
, чего и следовало ожидать.
Хотя я мог бы обновить приложение, чтобы отправлять правильные значения заголовков, но мне это не разрешено по требованию клиента - и мне нужно иметь возможность вернуть / принять неверный запрос, поскольку он работал раньше.
С любым другим сервером, похоже, он будет работать нормально, но на моем сервере и локальном компьютере приложение теперь получает 400 bad request
вернулся.
Есть идеи, как я могу заставить это работать? Я думаю, что администратор сервера установил какое-то обновление безопасности, и эта проблема появилась, но я не могу каким-либо образом ее исправить. Даже создание нового сервера не решает эту проблему.
Я видел какой-то модуль 'mod_headers'
для apache, который, я думаю, может позволить мне принять настраиваемый искаженный заголовок "Content type"
но не уверен, что это правильный путь.
Это все, что я получаю в журнале сервера моего локального компьютера (снимок экрана журнала доступа):
Почему вы не можете соответствовать стандартам?
RFC 7230, Синтаксис и маршрутизация сообщений HTTP / 1.1, Раздел 3.2:
3.2. Поля заголовка
Каждое поле заголовка состоит из имени поля без учета регистра, за которым следует двоеточие (":"), необязательного начального пробела, значения поля и необязательного конечного пробела.
header-field = `field-name ":" OWS field-value OWS`
Если это работало, это было неправильно. Обновите свое приложение, чтобы использовать стандартный HTTP / 1.1 Content-Type: type/subtype
вместо этого заголовок предоставляет стандартный тип MIME. Тогда вам не нужны какие-либо обходные пути или хаки, чтобы ваш веб-сервер работал в соответствии со стандартами.