4

Сценарий:

Первое приложение node.js работает на 127.0.0.1:8888 и обслуживает только один маршрут «domain.com/track.gif»

Второе приложение node.js работает на 127.0.0.1:3000 и является панелью для статистики, собранной первым приложением, и доступно на «domain.com» (и других маршрутах, таких как «domain.com/login» или «domain.com» / панель инструментов и т. д.)

Когда я использую эту конфигурацию ниже - только для первого приложения, первое приложение отлично работает, оно обслуживает этот файл gif отслеживания, когда я нажимаю "domain.com/track.gif":

upstream tracker {
  server 127.0.0.1:8888;
}

server {
  listen 0.0.0.0:80;
  server_name www.domain.com domain.com;
  access_log /var/log/nginx/domain_access.log;
  error_log /var/log/nginx/domain_error.log;

  location /track.gif {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://tracker;
    proxy_redirect off;
  }
}

Как добавить другое (второе) приложение node.js в эту конфигурацию, чтобы позаботиться обо всей маршрутизации для таких маршрутов, как «domain.com/» или «domain.com/dashboard» или «domain.com/login»?

Заранее спасибо!

1 ответ1

4

Добавьте второй блок местоположения. Он будет соответствовать любому пути, кроме /track.gif.

upstream tracker {
  server 127.0.0.1:8888;
}

server {
  listen 0.0.0.0:80;
  server_name www.domain.com domain.com;
  access_log /var/log/nginx/domain_access.log;
  error_log /var/log/nginx/domain_error.log;

  location /track.gif {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://tracker;
    proxy_redirect off;
  }

  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:3000;
    proxy_redirect off;
  }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .