Как использовать подпрограммы nginx proxy_pass из приложения узла?

#node.js #nginx #proxy

#node.js #nginx #прокси

Вопрос:

У меня есть приложение узла, работающее на порту 8002 с разными подпрограммами, такими как «/ login» или «/ facebook», у меня также есть nginx (версия v1.6.0) и следующая конфигурация:

   server {
      listen 80;
      server_name my-ghost-blog.com ;

      client_max_body_size 10M;

      location / {
              proxy_pass http://localhost:2368/;
              proxy_set_header Host $host;
              proxy_buffering off;
      }

      location ~ ^/(sitemap.xml) {
            root /var/www/ghost;
      }

      location ~ ^/(robots.txt) {
        root /var/www/ghost;
      }

      #proxy to a node app running on 8002 port
      location ^~ /auth/ {
          proxy_pass http://localhost:8002/;
      }
  }
 

когда я перехожу к ‘/ auth /’, это работает, но когда я пытаюсь перейти к subroute приложения узла, появляется 404, потому что nginx не знает, как с этим справиться.

есть идеи?

Спасибо

Комментарии:

1. У вас есть что-нибудь запущенное http://localhost:2368/ ? Мне кажется, что вы отправляете маршруты только с /auth помощью to http://localhost:8002/ , а другие — http://localhost:2368/

2. ДА. Ghost работает на этом порту. Но я не знаю, как указать, что эти маршруты внутри ‘/ auth /’ должны управляться localhost: 8002