Как использовать прокси-сервер для всех входящих запросов API

#nginx #server #nginx-reverse-proxy

#nginx #Сервер #nginx-обратный прокси

Вопрос:

Я настраиваю сервер для размещения своего веб-сайта с помощью nginx, но у меня возникли проблемы с работой моего серверной части. В настоящее время я использую только Restful API и пытаюсь использовать прокси-проходы в nginx для доступа к моему бэкэнду, но должен ли я добавлять местоположение для каждой конечной точки api? Например, мой серверный сервер запускается с pm2 на localhost: 5000, все мои конечные точки влекут за собой http://myip/api /(my-endpoint), если я настрою nginx так, чтобы он выглядел следующим образом:

 location / {
                try_files $uri $uri/ =404;
        }

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

 

Он по-прежнему не работает. Каков наилучший способ настроить nginx для обработки всех запросов от моего интерфейса к серверной части? Спасибо!

Ответ №1:

При использовании location /api {} он добавляет /api к более позднему proxy_pass , чтобы вы в конечном итоге получили http://localhost:5000/api/api .

Попробуйте использовать только корневой URL-адрес следующим образом:

     location /api {
        proxy_pass http://localhost:5000/;
    }