Пишу укорачиватель ссылок. По некоторым причинам не должно быть переадресации, поэтому загружаю контент по ссылке с помощью Jersey client и отдаю его пользователю.
private Client client = ClientBuilder.newClient();
@GET
@Path("{code}")
public Response getContentLink(@PathParam("code") String code) {
return client
.target(shortUrlService.getCommonUrl(code)) //получение длинной ссылки из базы
.request(MediaType.TEXT_HTML)
.get();
}
Длинная ссылка ссылается на то же приложение. Приложение запускается в Tomcat. Все работало замечательно на тесте, в продакшене появились проблемы.
1. Прямой переход по длинной ссылке работает корректно.
2. Попытка загрузить контент из другого приложения с помощью кода выше по длинной ссылке работает корректно.
3. Переход по короткой ссылке выдает ошибку
org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closing chunk expected
а в логи пишет
An I/O error has occurred while writing a response message entity to the container output stream.
Самая очевидная разница между тестовым сервером и продакшеном это наличие Nginx. В чем может быть проблема?