#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/;
}