Получение ERR_INVALID_RESPONSE в браузере при загрузке ресурса по ссылке, которая присутствует в электронном письме

#java #spring #nginx #download

#java #spring #nginx #Скачать

Вопрос:

У меня есть API (https://xyz-abc.com/api/signed/resource/get?signedKey=234e23423 ) для загрузки файла ресурса (xlsx, pdf). Пользователю отправляется электронное письмо со ссылкой для загрузки ресурса. Этой ссылке присваивается href в качестве URL-адреса API, т.е. https://xyz-abc.com/api/signed/resource/get?signedKey=234e23423

Когда пользователь нажимает на эту ссылку из своего электронного письма, открывается новая вкладка и вызывается этот API. Файл загружается в браузер пользователя в виде вложения. Но иногда открываемая новая вкладка не закрывается, и на этой вкладке браузера пользователю отображается следующее сообщение —

 This site can’t be reached

The web page at https://xyz-abc.com/api/signed/resource/get?signedKey=234e23423 might be temporarily down or it may have moved permanently to a new web address.

ERR_INVALID_RESPONSE
  

Почему эта ошибка отображается в браузере, и это тоже в некоторых случаях. Когда пользователь снова нажимает на тот же URL, вкладка автоматически закрывается, и файл загружается.

Я использую контроллеры nginx и java spring в серверной части.

Обновление 1 — Добавление скриншота вкладки сети —

введите описание изображения здесь

Комментарии:

1. Не видя кода, который обслуживает файл, сетевого трафика, связанного с запросом на загрузку, и специфической диагностики браузера и сетевого подключения на стороне клиента, ответить на этот вопрос будет практически невозможно. URL веб-ресурса вряд ли является основной причиной вашей проблемы сам по себе.

2. Предоставленная вами информация ограничена, но nginx можно использовать в качестве балансировщика нагрузки. Если nginx полагается на разные экземпляры, а ваш серверный сервер находится в состоянии, например, signedKey= 234e23423 распознается только определенным экземпляром, тогда страница открывается, только если nginx указывает на правильный экземпляр, который сгенерировал электронное письмо. Если это так, предлагаю переписать серверную часть, т.Е. Сохранить файл в файловой системе и разрешить всем экземплярам beckend генерировать ответ,

3. @kolossus Я приложил скриншот вкладки «Сеть». Вы можете получить подробную информацию о заголовках запросов и ответов из скриншота. Надеюсь, это поможет в дальнейшей диагностике проблемы.

4. @RobertoPetrilli Я приложил скриншот вкладки сети, с помощью которой вы можете получить подробную информацию о заголовках запросов и ответов. Серверная часть не имеет состояния.