Задать вопрос
marperia
@marperia
Дизайнер, программист, писатель

Почему nginx не даёт закрыть websocket?

Друзья, коллеги, товарищи! — пишу говнокод на питоне, который использует WSS, само приложение использует gevent. Перед всем этим стоит nginx-прокси с такой конфигурацией:
server {
        listen 80;
        listen 443;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/bookforker.tk/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/bookforker.tk/privkey.pem; # managed by Certbot

        server_name name.tk www.name.tk;

        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;

        location / {
                proxy_pass                      https://localhost:5000;
                proxy_redirect                  off;
                proxy_set_header                Host                    $host;
                proxy_set_header                X-Real-IP               $remote_addr;
                proxy_set_header                X-Forwarded-For         $proxy_add_x_forwarded_for;
                proxy_set_header                X-Forwarded-Proto       $scheme;

                # WebSocket support
                proxy_set_header                Upgrade                 $http_upgrade;
                proxy_set_header                Connection              "upgrade";
                proxy_http_version              1.1;
        }
}

Пробовал разные, ни одна не работает должным образом.
А проблема заключается в том, что сокеты просто не закрываются, увы и ах. В чём может быть причина?
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Полагаю, что если просто передавать константой "upgrade", то это будет передаваться для всех connection, даже если там connection: close изначально должно было быть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы