Я хочу, чтобы мой node.js сервер не был доступен через браузер, и он общается только через nginx сервер внутри.
Я предполагаю, что "через браузер", вы имеете в виду через другие пользователи, а не браузер на localhost. Я также предполагаю, что вы используете встроенный HTTP / S-сервер, напрямую или через что-то вроде Express. Наконец, я предполагаю, что Nginx работает на том же хосте. Если эти предположения не верны, вы должны отредактировать свой вопрос, чтобы уточнить и показать некоторый код.
Теперь, когда вы вызываете .listen()
для запуска сервера, есть дополнительные параметры, которые вы можете передать, чтобы установить порт и хост привязки. Например, если бы я сделал это:
server.listen(3000, '127.0.0.1', ...);
Это запустит сервер, который прослушивает порт 3000
, но принимает соединения только тогда, когда сделаны из localhost
, 127.0.0.1
. Это означает, что все на этом компьютере может подключаться к :3000
и делать запросы, но запросы от других хостов не будут работать.