Отпускает (экспресс) обрезание ответов веб-приложения (ответ зависает без завершения) после первоначальной работы - PullRequest
0 голосов
/ 01 марта 2019

У меня есть приложение Sails (express), которое работает локально (OS X), но не работает при развертывании (под pm2) на виртуальной машине Ubuntu.

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

Например, следующее:

  test: function(req, res) {
    return res.send('TEST');
  },

Этот код работает, когдаприложение запускается, возвращая простое возвращаемое значение правильно.Однако через короткий промежуток времени приложение возвращает 3 из 4-байтового ответа, а затем зависает без завершения.

Об ошибках не сообщается.

Этот пример, очевидно, является тривиальным тестовым примером, но эффектнепротиворечиво.

Пример работы:

$ wget -dS http://localhost:1337/api/v1/auth/test
Setting --server-response (serverresponse) to 1
DEBUG output created by Wget 1.19.4 on linux-gnu.

Reading HSTS entries from /home/webmaster/.wget-hsts
URI encoding = ‘UTF-8’
Converted file name 'test' (UTF-8) -> 'test' (UTF-8)
--2019-02-28 05:34:35--  http://localhost:1337/api/v1/auth/test
Resolving localhost (localhost)... 127.0.0.1
Caching localhost => 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:1337... connected.
Created socket 3.
Releasing 0x000055c4f9d537e0 (new refcount 1).

---request begin---
GET /api/v1/auth/test HTTP/1.1
User-Agent: Wget/1.19.4 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: localhost:1337
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... 
---response begin---
HTTP/1.1 200 OK
X-Powered-By: Sails <sailsjs.com>
Content-Type: text/html; charset=utf-8
Content-Length: 4
ETag: W/"4-mEgW/TKWIoduFJB2NCZObzMun7M"
Vary: Accept-Encoding
Date: Thu, 28 Feb 2019 05:34:35 GMT
Connection: keep-alive

---response end---

  HTTP/1.1 200 OK
  X-Powered-By: Sails <sailsjs.com>
  Content-Type: text/html; charset=utf-8
  Content-Length: 4
  ETag: W/"4-mEgW/TKWIoduFJB2NCZObzMun7M"
  Vary: Accept-Encoding
  Date: Thu, 28 Feb 2019 05:34:35 GMT
  Connection: keep-alive
Registered socket 3 for persistent reuse.
URI content encoding = ‘utf-8’
Length: 4 [text/html]
Saving to: ‘test.16’

test.16                                 100%[===============================================================================>]       4  --.-KB/s    in 0.001s  

2019-02-28 05:34:35 (3.65 KB/s) - ‘test.16’ saved [4/4]

Пример сбоя:

$ wget -d http://localhost:1337/api/v1/auth/test
DEBUG output created by Wget 1.19.4 on linux-gnu.

Reading HSTS entries from /home/webmaster/.wget-hsts
URI encoding = ‘UTF-8’
Converted file name 'test' (UTF-8) -> 'test' (UTF-8)
--2019-03-01 02:43:32--  http://localhost:1337/api/v1/auth/test
Resolving localhost (localhost)... 127.0.0.1
Caching localhost => 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:1337... connected.
Created socket 3.
Releasing 0x000055f300a2a7e0 (new refcount 1).

---request begin---
GET /api/v1/auth/test HTTP/1.1
User-Agent: Wget/1.19.4 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: localhost:1337
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... 
---response begin---
HTTP/1.1 200 OK
X-Powered-By: Sails <sailsjs.com>
Content-Type: text/html; charset=utf-8
Content-Length: 4
ETag: W/"4-mEgW/TKWIoduFJB2NCZObzMun7M"
Vary: Accept-Encoding
Date: Fri, 01 Mar 2019 02:43:32 GMT
Connection: keep-alive

---response end---
200 OK
Registered socket 3 for persistent reuse.
URI content encoding = ‘utf-8’
Length: 4 [text/html]
Saving to: ‘test.20’

test.20                                  75%[===========================================================>                    ]       3  --.-KB/s    eta 2s     ^C
...