Сделать порт приложения Node.js недоступным в других доменах

У меня есть сервер с Parallels Plesk в качестве панели управления сервером, apache2 (с mod_proxy и mod_http_proxy), nginx и Node.js. На этом сервере у меня есть несколько доменов и поддоменов, но только один IP.

Если я запускаю приложение узла, например, на порту 1337 это будет глобально доступно на всех доменах и поддоменах на этом сервере /IP с этим портом. (domainA.com:1337, sub.domainA.com:1337, domainB:1337)

Через Plesk я могу изменить apache2 vhost.conf для domainA.com, Я могу использовать следующий код для маршрутизации порта 80 на порт 1337 для domainA.com: (Я бы лучше использовал nginx, но настройки в Plesk для быстрой настройки nginx несколько ограничены)

ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass / http://localhost:1337/
ProxyPassReverse / http://localhost:1337/
<Location />
    Order allow,deny
    Allow from all
</Location>

Я могу получить доступ к своему узлу-приложению, запущенному на порту 1337, через порт 80 на domainA.com!

НО: порт 1337 по-прежнему доступен напрямую во всех доменах на моем сервере. Не только domainA.com:1337 показывает мне мое нод-приложение, sub.domainA.com:1337 а также domainB.com:1337 покажет мое приложение тоже.

Совершенно логично, почему этот порт по-прежнему доступен везде, но как я могу "заблокировать" этот порт на этих других доменах?

В лучшем случае это будет domainA.com:1337 перенаправляет на domainA.com а также sub.domainA.com:1337 / domainB.com:1337 ничего не покажу

Это как-то возможно с моей настройкой?

Если это возможно с nginx вместо apache - почему бы и нет! Я использовал только apache mod_proxy, потому что его было проще настроить в Plesk.

1 ответ

Решение

Plesk теперь имеет полную поддержку Node.JS - и его хостинг, подписка и т. Д. Совместимы. http://ext.plesk.com/packages/28f799af-1ff4-4bb8-9c87-a04f0f23d32e-jxcore-support

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