Nginx: proxy_set_header «Обновление» замедляет работу сервера

У меня есть сайт, который я бы хотел улучшить с помощью функций на основе WebSocket. Сайт находится за обратным прокси-сервером Nginx.

Моя конфигурация для сервера выглядит так:

    location / {
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_ignore_client_abort on;
        proxy_redirect http://weblogic:8080/ $scheme://$host:$server_port/;
        proxy_pass http://weblogic:8080/;

        access_log  /var/log/nginx/weblogic.frontend.access.log  main;
    }

Речь идет об изменении proxy_set_header Connection «Обновление»; строка. Это тот, который я добавил из-за WebSocket.

Я попробовал, и он работает, но проблема в том, что как только эта строка появляется в конфигурации, каждое перенаправление становится мучительно медленным. Запросы, которые выполнялись за секунды, теперь занимают полминуты на оценку. Как я могу предотвратить эту проблему, сохранив при этом возможность использовать WebSocket?

PS: Я провел дополнительное тестирование и могу подтвердить, что только запросы, возвращаемые с 302, медленные. Я попытался изменить свойство proxy_redirect на то, которое не использует переменные, но мне не повезло.

0
задан 12 July 2019 в 14:04
1 ответ

Я нашел решение. Я не знаю, «решает» ли он проблему, но до сих пор он определенно хорошо ее решает.

Я сделал так, что переместил связь через веб-сокет в другое место с вышеупомянутыми настройками, в то время как не- Расположение веб-сокета оставалось обычным proxy_pass -ing.

Пожалуйста, уточните, действительно ли это решение просто полирует какашку

0
ответ дан 23 November 2019 в 22:56

Теги

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