После того, как мы перенесли наш бэкэнд в TLS, у меня появилась странная проблема с запросом PUT
, но самое главное, что ошибка не возникает для запросов с небольшим JSON телом и пределом content length
кажется, близко к 1300
. Первым делом я установил вручную content length
- ничего не изменилось.
Я попытался отладить, но застрял. Я отправил запрос ниже, что может быть не так с ним?
Request URL: https://backend-domain.com:5000/things/update/6718012e-b91d-40e6-ae54-012a6c886e3f
Request Method: PUT
Status Code: 400
Remote Address: 54.93.136.54:5000
Referrer Policy: no-referrer-when-downgrade
HTTP/1.1 400
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: http://front-test.com:5000
Access-Control-Allow-Credentials: true
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Mon, 23 Mar 2020 21:58:31 GMT
Connection: close
PUT /things/update/6718012e-b91d-40e6-ae54-012a6c886e3f HTTP/1.1
Host: backend-domain.com:5000
Connection: keep-alive
Content-Length: 5325
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/plain, */*
Sec-Fetch-Dest: empty
X-CSRF-TOKEN: bb893da1-7113-4275-b2c9-46c3c5016598
httpsAgent: [object Object]
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Content-Type: application/json;charset=UTF-8
Origin: http://front-test.com:5000
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Referer: http://front-test.com:5000/things/thing/6718012e-b91d-40e6-ae54-012a6c886e3f
Accept-Encoding: gzip, deflate, br
Accept-Language: pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: JSESSIONID=42A4778D142D0A3F37B3BD163B487D1E
И ответ:
{
"timestamp":"2020-03-23T21:58:32.176+0000",
"status":400,
"error":"Bad Request",
"message":"Required request body is missing: public java.lang.String pl.x.controller.EquipmentController.updateEquipment(pl.X.model.request.EquipmentRequest,java.lang.String) throws com.fasterxml.jackson.core.JsonProcessingException",
"path":"/things/update/6718012e-b91d-40e6-ae54-012a6c886e3f"
}
Я не добавляю тело JSON - он слишком большой и это не должно иметь значения.
РЕДАКТИРОВАТЬ Кажется, что только chrome имеет эту проблему. Версия 80.0.3987.149 (официальная сборка) (64-разрядная версия)