это очень странная статья. скажем так, между строк ПОДРАЗУМЕВАЕТСЯ, что ' '' close;' по причине того, что мы наверняка не знаем, есть ли keepalive в описании бекенде.
по факту сокеты вроде и работают, но рвутся после каждого запроса. мы по этим же граблям прошлись в свое время чт, 29 февр. 2024 г. в 20:30, Gena Makhomed <g...@csdoc.com>: > Здравствуйте, All! > > В статье https://www.nginx.com/blog/websocket-nginx/ > рекомендуется такой код: > > http { > map $http_upgrade $connection_upgrade { > default upgrade; > '' close; > } > > upstream websocket { > server 192.168.100.10:8010; > } > > server { > listen 8020; > location / { > proxy_pass http://websocket; > proxy_http_version 1.1; > proxy_set_header Upgrade $http_upgrade; > proxy_set_header Connection $connection_upgrade; > proxy_set_header Host $host; > } > } > } > > При этом в других статьях - для включения keep-alive > рекомендуется такой код: > > proxy_http_version 1.1; > proxy_set_header Connection ""; > > для того, чтобы режим Keep-alive работал между nginx и backend. > > Keep-alive connections are enabled by default in HTTP/1.1 while not in > HTTP/1.0. HTTP/1.0 was designed to close the connection after every > request between client and server. > > может быть в статье на сайте рекомендуется не самая оптимальная > настройка и лучше было бы сделать так: > > # cat /etc/nginx/nginx.conf > > http { > > map $http_upgrade $connection_upgrade { > default Upgrade; > '' ''; > } > > proxy_http_version 1.1; > proxy_set_header Upgrade $http_upgrade; > proxy_set_header Connection $connection_upgrade; > proxy_set_header Host $host; > } > > > в таком случае и вебсокеты смогут работать по любому урлу > и при этом keep-alive подключения к backend тоже будут работать. > > upstream node { > server 127.0.0.1:3000; > keepalive 64; > } > > > ведь нет же никаких причин разрешать вебсокеты только > по какому-то явно прописанному в конфиге урлу, > а по всем остальным урлам - запрещать? > > -- > Best regards, > Gena > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx-ru >
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-ru