Невозможно определить ошибку 504 в NodeJS, работающем на NGINX Веб-сервере на AWS - PullRequest
0 голосов
/ 18 февраля 2020

Когда я делаю POST-запросы к сторонним API, таким как Facebook, Google et c, я получаю ошибку 504 случайным образом. Я не могу точно определить точный сценарий, который вызывает ошибку.

Вот как я делаю запрос POST:

 var options = { uri: uri,
                 headers: {
                   "Content-Type": "application/json",
                 },
                 strictSSL: true,
                 json: obj
               }; 


 request.post(options, function(err, response) {


 });

Вот мой NGINX файл конфигурации:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
 worker_connections  1024;
}


http {

  client_max_body_size 100M;
  include       /etc/nginx/mime.types;
  default_type  application/octet-stream;

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

  access_log  /var/log/nginx/access.log  main;

  sendfile        on;


  keepalive_timeout  65;

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;


}

Я запускаю мое приложение на 2 инстансах EC2 в AWS с присоединенным к нему балансировщиком нагрузки.

В чем здесь проблема?

1 Ответ

0 голосов
/ 18 февраля 2020

Я полагаю, вам не хватает блока сервера внутри блока http. И не мешало бы иметь блоки местоположения для перенаправления клиента на более точно настроенные маршруты, а не просто root

server {
  listen 80;
  listen [::]:80;

  root /home/ubuntu/public_html;

  server_name example-one.com www.example-one.com;

  location /application1 {
      proxy_pass http://localhost:8080/sampleApp;
  }

  location /images {
      root /home/ubuntu/data;
  }
}
...