2017-02-10 6 views
0

Я смущен про процесс проксирования HTTP Nginx. Как Nginx обрабатывает запрос и передает его на серверы? Например, я отправляю файл в Nginx, Nginx сначала сохраняет весь файл в каталог tmp, а затем передает его на серверы? Или просто передайте запрос немедленно?Как Nginx передает запрос на серверы?

+0

Привет Энсон, пожалуйста upvote и принять мой ответ ниже, если он вам помог с вашим вопросом. – 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

, если запрос клиенту (вы) сломан, то это означает, что tcp-стек попыток сервера nginx для получения ваших данных затем отбрасывает и срывает соединение. если запрос на бэкэнд сломался, то клиент (вы) скорее всего получит ответ 502 (плохой шлюз) – gbolo

+0

. В первой ситуации, которую вы только что сказали, означает ли это, что nginx и backends будут обрабатывать запрос независимо от подключения между клиентом и nginx есть или не нарушены? –

Смежные вопросы