2017-02-10 59 views
0

我对Nginx HTTP代理过程感到困惑。 Nginx如何处理请求并将其传递给后端?例如,我将一个文件发布到Nginx,Nginx会将整个文件保存到tmp目录中,然后将它传递给后端?或者只是立即传递请求?Nginx如何传递请求到后端?

+0

嗨安生,请给予好评,并接受我的回答下面,如果它帮助你与您的问题。 – gbolo

回答

1

nginx将proxy完整请求,这意味着它将代表您完成请求并回应请求中返回的标头/内容。这使它对客户端保持透明。

在缓冲客户端请求方面,它取决于大小。如果它小,它会在内存中缓冲,但更大的请求将被存储到临时文件系统:

http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size

附加信息:https://www.nginx.com/resources/admin-guide/reverse-proxy/

+0

明白了,谢谢!还有一个问题,如果当Nginx发送请求到后端时,如果客户端和Nginx之间的连接中断,那么请求会发生什么? –

+0

如果对客户端(您)的请求中断,那么意味着nginx服务器的tcp堆栈重试接收您的ack,然后放弃并断开连接。如果对后端的请求被破坏,那么客户端(你)很可能会收到一个502响应(坏的网关) – gbolo

+0

你刚刚说过的第一种情况是否意味着nginx和后端将继续处理请求,无论连接如何客户端和nginx之间是不是破碎? –

相关问题