Как настроить Nginx для доступа к серверу, работающему на нескольких портах - PullRequest
0 голосов
/ 08 февраля 2019

Я устанавливаю nginx в качестве обратного прокси-сервера на EC2.У меня на EC2 работает два приложения реакции и один экспресс-сервер.1-й работает на порту 3000, 2-й работает на порту 3001, 3-й работает на порту 3002

Когда я пытаюсь получить доступ к первому приложению реагирования, перейдя на http://example.com/,, оно работает нормально.Но когда я пытаюсь получить доступ к http://example.com/admin,, он все равно переходит к первому приложению реакции.Это также хорошо работает, когда я пытаюсь получить доступ к серверу API, перейдя по адресу example.com/api.Пожалуйста, дайте мне знать, как настроить конфигурацию nginx для доступа ко второму серверу, т.е.example.com/admin.

Вот файл конфигурации nginx.

server 
{
    listen       80 default_server;
    server_name  example.com

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;


    location / {
      proxy_pass http://localhost: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;
    }

    location /api {
       proxy_pass http://localhost:3001;
       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;
    }

    location /admin {
       proxy_pass http://localhost:3002;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}
...