Запросы к веб-сокетам за ELB [с протоколом прокси] и прокси-сервером Ngnix

Я пытаюсь получить IP-адрес клиента, который подключается к серверу веб-сокетов Nodejs. Этот блог - вот что я делаю для этого http://blog.seafuj.com/using-elb-with-websockets. Это работает, и я получаю IP-адрес клиента.

Теперь мой вопрос таков: как только начальное рукопожатие и соединение сделано от клиента к серверу через ELB и ngnix; Будут ли последующие запросы[sendText()] от клиента идти через ELB или они будут идти напрямую на сервер веб-маркета в обход ELB.

Пример кода клиента:

var connection = ws.connect('ws://<ELB>:80');
    connection.on("connect", function () {
                console.log("Connection established");
                connection.sendText("Hi");
                connection.sendText("Hello");           
        })

Здесь в комментариях я читал, что

2) С этого момента и в течение всего срока жизни этого TCP-соединения ELB поддерживает квази-прямое соединение между клиентом и внутренним сервером. 3) "квази-прямой" означает, что соединение проксируется через ELB. Таким образом, пока TCP-соединение активно, ELB полностью осведомлен о двух конечных точках, участвующих (клиент и внутренний сервер). - Ян-Филипп Герке

Как бы то ни было, мне непонятно, идут ли tcp-запросы [не для установления связи и установления соединения] напрямую на сервер ИЛИ через сервер ELB->ngnix -> websoket.

1 ответ

Решение

Включение прокси-протокола в ELB добавит информацию, такую ​​как исходные ips, ips назначения и т. Д. В заголовки, кроме того, что больше ничего не будет делать. Все запросы к серверу будут проходить только через elb. если вы хотите проверить это, загрузите сервер в частной подсети с частным ip с elb поверх него, он все равно будет работать.

Другие вопросы по тегам