Сделать порт приложения 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