NGINX as a WebSocket Proxy
Илья Шипицин
chipitsine на gmail.com
Ср Мар 6 09:02:03 UTC 2024
это очень странная статья. скажем так, между строк ПОДРАЗУМЕВАЕТСЯ, что '
'' close;' по причине того, что мы наверняка не знаем, есть ли keepalive в
описании бекенде.
по факту сокеты вроде и работают, но рвутся после каждого запроса.
мы по этим же граблям прошлись в свое время
чт, 29 февр. 2024 г. в 20:30, Gena Makhomed <gmm на 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
>
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20240306/b55d51db/attachment.htm>
Подробная информация о списке рассылки nginx-ru