Как создать приложение Sails.js, которое будет прослушивать два разных порта одновременно

Например, у меня есть приложение Sailes.js, которое (по умолчанию) прослушивает порт 1337. Я хочу настроить его для одновременного прослушивания двух разных портов — одного для SSL и одного для трафика без SSL. Это вообще возможно? Я просмотрел документацию и не могу найти пример, который показывает мне что-либо, кроме установки одного значения порта.

Должен ли я создавать внешний интерфейс, который (например, Apache или nginx) для этого можно ли придерживаться чистого решения node.js - возможно, экспресс?

Я должен добавить, что я использую сервер только для веб-сокетов через socket.io.

Рабочий пример был бы замечательным, но любые советы и указатели помогут.


person kpturner    schedule 26.08.2015    source источник
comment
Может быть, вы ищете https://github.com/nodejitsu/node-http-proxy?   -  person Alexis N-o    schedule 27.08.2015
comment
Я использовал это раньше и еще раз покопаюсь с ним, но подход с двумя экземплярами с использованием переменных среды выглядит фаворитом.   -  person kpturner    schedule 28.08.2015


Ответы (1)


самым простым, вероятно, было бы запустить ваш сервер дважды.

Просто убедитесь, что вы делитесь общими данными, такими как сеансы и постоянные глобальные переменные - возможно, используя что-то вроде redis (sails может автоматически основывать ваш сеанс на redis и даже может привязывать модель к серверу redis, сохраняя при этом остальное в вашей текущей базе данных)

person Reda El Khattabi    schedule 26.08.2015
comment
Я мог бы сделать это, я думаю. Я знаю, что вы можете указать порт в командной строке, но кажется сложнее заставить один использовать SSL, а другой нет. Насколько я знаю, это продиктовано конфигурацией, которую будут использовать оба экземпляра. Я мог бы запустить один как производство, а другой как разработку и таким образом разделить конфигурацию, но это не идеально, особенно потому, что на сервере IBMi, который я использую, grunt просто истекает, независимо от того, как долго я это разрешаю. - person kpturner; 27.08.2015
comment
да, вам понадобится больше, чем порт, и я не думаю, что правильным способом было бы в любом случае указать это в командной строке. переменные среды имеют для меня больше смысла (например, INSTANCE=https ), затем вы используете переменную среды в файле конфигурации для переключения значений - person Reda El Khattabi; 27.08.2015