Можем ли мы запустить узел и Apache на одном и том же порту

У меня есть приложение в nodejs и PHP. На данный момент я использую разные оба.
Могу ли я запустить узел и Apache на одном и том же порту 8080

Есть ли способ запустить любое приложение как на 8080

Спасибо

-1

Решение

Порт обычно подключен только к одному приложению. Таким образом, вы должны использовать разные порты.

полномочие
Но вы можете, например, создать виртуальный хост в Apache и настроить его как прокси. В этой конфигурации вы можете получить доступ к серверу node.js через тот же порт. Сервер node.js будет работать на другом порту.

2

Другие решения

Для приложений на базе TCP нет. Вы можете одновременно прослушивать только одно приложение на одном порту. Если бы у вас было 2 сетевых карты, одно приложение могло бы прослушивать первый IP-адрес, а второе — второй IP-адрес, оба с использованием порта 8080 …. но я сомневаюсь, что это ваш случай.

Я предполагаю, что вы можете запустить их по протоколу UDP, который может позволить двум приложениям прослушивать один и тот же порт, но поскольку UDP ненадежен и не устанавливает соединение, он просто отправляет / получает пакеты. Вы можете столкнуться с большой потерей пакетов в UDP.

Итак, короткий ответ — нет.

0

На самом деле, может быть способ использовать iptables. Добавить правило такого рода

iptables -A INPUT \
-p tcp \
-m bpf --bytecode "14,0 0 0 20,177" -j redirect .. Порт 80

Проверьте первые несколько байтов соединения и перенаправьте соединение. Затем вы можете принять и http, и node.js на одном и том же порту, но серверы должны работать на разных портах.

Синтаксис выше неправильный, и я не пробовал его, но я знаю людей, которые успешно использовали эту стратегию.

-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector