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

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

Если я запустил приложение узла, например, порт 1337 он будет глобально доступен для всех доменов и поддоменов на этом сервере / IP с этим портом. ( домен A.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
задан 4 July 2014 в 09:51
1 ответ

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

0
ответ дан 5 December 2019 в 20:43

Теги

Похожие вопросы