Сейчас мы используем nginx 1.6 для обратного прокси-сервера наших сервисов клиенту. Мы также используем Server-Sent Events, слой поверх HTTP, который держит сокет открытым.
Вот кусок необходимого конфига.
proxy_buffering off;
proxy_http_version 1.1;
Вот наша установка
Client <---> nginx <---> Service
Socket 1 Socket 2
Когда я закрываю браузер без надлежащего отключения, Socket 1 закрывается, а Socket 2 все еще открыт. Сервис видит, что nginx все еще подключен, и продолжает отправлять туда сообщения.
Вот сценарий, который я вижу с wirehark.
Client -XXX- nginx <---> Service
Socket 1 Socket 2
Есть ли способ заставить nginx закрыть Socket 2?
Будет ли HTTP Connection: keep-alive
вызвать какое-либо неблагоприятное поведение?