Я использую python (3.6) с Flask. Это бежит позади uwsgi
. Мне нужно включить поддержку активности в этом приложении, поэтому я добавил параметр --so-keepalive
в команду uwsgi, как показано ниже:
uwsgi \
--uid uwsgi \
--master \
--http :8080 \
--enable-threads \
--so-keepalive \
--wsgi-file api/uwsgi.py
, и при проверке заголовка ответа на запрос keep-alive
не появляется. Он появляется только в заголовке запроса. Заголовок ответа:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 99
Я использую curl
для проверки соединения:
curl -Iv http://localhost:9301/v2/health --next http://localhost:9301/v2/health
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 9301 (#0)
> HEAD /v2/health HTTP/1.1
> Host: localhost:9301
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Content-Type: application/json
Content-Type: application/json
< Content-Length: 5
Content-Length: 5
<
* Connection #0 to host localhost left intact
* Found bundle for host localhost: 0x7fb4db60b7d0 [can pipeline]
* Could pipeline, but not asked to!
* Connection 0 seems to be dead!
* Closing connection 0
* Hostname localhost was found in DNS cache
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 9301 (#1)
> GET /v2/health HTTP/1.1
> Host: localhost:9301
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Content-Length: 5
<
"OK"
* Connection #1 to host localhost left intact
* Closing connection 1
И вы можете видеть, что он создает два соединения #0
и #1
. Кажется, на моем сервере не поддерживается соединение keep-alive.
Интересно, включен ли keep-alive в моем приложении? Как я могу включить это?