如果 client -> nginx 配置成长连接, keep-alive
nginx->server 不配置成长链接,
那么 整个请求时长链接的吗?
因为 tornado 好像是不支持长连接的
感觉我 nginx 好多不会呀
![]() |
1
ericls 10 天前 via iPhone ![]() 在 nginx 那一层应该是复用的 你试试就知道了
实际上一个 tcp 经过那么多个 hop 实际情况很难控制 |
![]() |
2
opengps 10 天前 ![]() 应该仅仅是外层 client -> nginx 是长连接复用,内部 nginx->server 依然是有请求就单独转发一次
|
3
iConnect 10 天前 via Android
客户端你是用 websocket 吗?
|
![]() |
4
iyaozhen 10 天前 ![]() 那么 整个请求时长链接的吗?
显然不是啊 tornado 我看默认就支持呀 https://www.tornadoweb.org/en/stable/httpserver.html?highlight=keep%20alive#http-server nginx 需要这样配置: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive |
5
ChoateYao 10 天前 ![]() HTTP keepalive 还是 TCP keepalive 这是两种不同的概念,TCP keepalive 没认真了解过。
但是 HTTP keepalive 是指复用 TCP 连接,当客户端跟服务端建立起 TCP 通道之后,请求出第一个 HTTP,如果 HTTP 没有指明 keepalive,则得到响应之后服务端会马上把 TCP 断开;否则可以复用 TCP 通道,无需创建多个 TCP 通道,这样子就能避免在一定时间内发起 HTTP 请求,因为创建多个 TCP 通道导致性能性能损耗。 |
![]() |
6
wakzz 10 天前 ![]() nginx -> server 默认的 http 负载均衡是 TCP 短连接,需要一些额外的配置才能设置成 HTTP 长连接。
|
![]() |
9
wakzz 10 天前 ![]() @chenqh 四楼的第二个链接就是文档,修改方式就是 upstream 添加 keepalive,以及 location 添加 proxy_http_version 1.1 和 proxy_set_header Connection ""就行。注意是这几个同时配置后才起效,缺一个都不行。
|
![]() |
10
holinhot 10 天前
题主说的回源长连接
|
![]() |
11
abccccabc 9 天前
楼主,9 楼的方法可行。
|