Как настроить сервер узла (с nginx, сидящим сверху) для работы с mongodb - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть приложение-экспресс-узел, которое связывается с mongodb и возвращает ответ в формате JSON после некоторой обработки. Приложение работает должным образом при запуске на локальной машине.

Вот так выглядит мой код подключения

await MongoClient.connect(uri, async function (err, client) {
    ...
}

Однако я развернул приложение в экземпляре aws ec2, следуя этому руководству , где я добавил nginx в качестве слоя поверх моего узла приложения. Теперь я получаю 504 Gateway Time-out на любых маршрутах, которые пытаются подключиться к mongodb.

Блок сервера в моей конфигурации nginx

 server {
     listen         80 default_server;
     listen         [::]:80 default_server;
     server_name    localhost;
     root           /usr/share/nginx/html;
     location / {
         proxy_pass http://127.0.0.1:3000;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection 'upgrade';
         proxy_set_header Host $host;
         proxy_cache_bypass $http_upgrade;
       } 
 }

Я понимаю, что mongodb не использует HTTP, что nginx использует для связи. Поэтому я пытался следовать этому уроку , но безуспешно.

Кто-нибудь может указать мне правильное направление?

1 Ответ

0 голосов
/ 07 ноября 2018

Оказывается, я полностью забыл внести в белый список IP-адрес моего сервера, когда развернул приложение в экземпляре ec2. Поэтому локально все работало как положено (мой локальный IP-адрес был в белом списке).

Это не имеет ничего общего с NGINX. Моя ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...