Примите настраиваемое поле заголовка "Тип содержимого" в apache
Мое приложение отправляло запрос с полем заголовка "Content type"
[SIC] и значение "form-data"
[так] на сервер. Хотя это кажется неправильным - кажется, это не вызывало никаких проблем, пока пару дней назад. Затем что-то случилось (администратор установил обновление безопасности или около того), и теперь сервер лампы возвращается 400 bad request
, чего и следовало ожидать.
Хотя я мог бы обновить приложение, чтобы оно отправляло правильные значения заголовка, но я не могу этого сделать из-за требований клиента, и мне нужно иметь возможность отменить / принять неверный запрос, как он работал раньше.
С любым другим сервером кажется, что это будет работать нормально - но на моем сервере и локальной машине - приложение теперь получает 400 bad request
вернулся.
Любая идея, как я мог бы сделать эту работу? Я думаю, что администратор сервера установил какое-то обновление для системы безопасности, и эта проблема появилась, но я, похоже, никак не могу ее отменить. Даже создание нового сервера не решает его.
Я видел какой-то модуль 'mod_headers'
для Apache, который, я думаю, может позволить мне принять пользовательский искаженный заголовок "Content type"
но не уверен, что это путь.
Это все, что я получаю в журнале сервера локальной машины (скриншот журнала доступа):
1 ответ
Почему вы не можете соответствовать стандартам?
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, вместо этого. Тогда вам не нужны обходные пути или хаки, чтобы ваш веб-сервер работал в соответствии со стандартами.