Как переслать запрос в Node.js из nginx с помощью tcp_proxy_module? - PullRequest
0 голосов
/ 12 августа 2011

Теперь я пропатчил nginx с nginx_tcp_proxy_module, и он работает нормально на порту 8080.

Как подключить клиентов к порту 80 nignx, а не к порту 8080 Node.js , чтобы nginx перенаправил запрос в Node.js?

1 Ответ

2 голосов
/ 12 августа 2011

Просто измените 8080 на 80. Но TCP и HTTP на одном и том же порту невозможны .

Альтернативное решение:

  • Использовать HAProxy для порта 80
  • Настройка nginx для прослушивания через порт 81
  • Запустите ваше приложение node.js на порту 8080
  • Настройка HAProxy для
    • вперед Host: your.nodejs.socketio.com до 127.0.0.1:8080
    • переслать все остальное на 127.0.0.1:81

Если вы пойдете по этому маршруту, вы, вероятно, захотите сохранить клиентские IP-адреса:

  • Настроить HAproxy
  • Использовать Модуль RealIP в nginx
  • Использовать X-Forwarded-For в socket.io

    socketio.handshakeData = function(data) {
        var d = socketio.Manager.prototype.handshakeData(data);
        d.ip = data.request.headers['x-forwarded-for'] || data.request.connection.remoteAddress;
        return d;
    };
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...