#reactjs #nginx #flask #gunicorn
#reactjs #nginx #flask #gunicorn
Вопрос:
Я пытался настроить интерфейс React и серверную часть Flask, используя Nginx в качестве обратного прокси, чтобы различать их. У меня есть серверная часть flask, на которой запущен сервер Gunicorn на localhost: 5000, но, похоже, я не могу получить блок местоположения Nginx для его регистрации. Мой конфигурационный файл выглядит следующим образом:
server {
listen 80;
root /var/www/[react-app-domain-name]/html;
index index.html index.htm;
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
try_files $uri $uri/ = 404;
}
location /api {
include proxy_params;
proxy_pass http://localhost:5000;
}
}
Я понимаю, что это должно направлять весь трафик через мое приложение react в root, за исключением запросов с «/ api», которые затем должны быть перенаправлены через мой внутренний интерфейс Flask api. Однако, когда я пытаюсь получить доступ к маршруту / api, все, что я получаю обратно, — это ответ 404. Это также происходит, если я использую true для доступа к нему через curl в командной строке.
Вот журнал ошибок 404, который у меня есть:
2020/09/09 21:03:05 [crit] 36926#36926: *114 connect() to unix:/home/[name]/backend/backend.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: , request: "GET /api/ HTTP/1.0", upstream: "http://unix:/home/[name]/backend/backend.sock:/api/", host: "[hostname]"
Любая помощь была бы очень признательна. Я рву на себе волосы здесь. Спасибо.
Комментарии:
1. Я использую аналогичную настройку для одного из своих проектов. Попробуйте переместить строку, начинающуюся с
root
иindex
, в областьlocation / {
и посмотрите, имеет ли это значение.2. Просто пробовал, к сожалению, не помогло. Тем не менее, спасибо за предложение. Мне интересно, не напортачил ли я где-нибудь в какой-нибудь другой обстановке, которая все портит, а я даже не знаю об этом.
3. Понял, что у тебя в proxy_params?
4. Вы добавили
"proxy": "http://localhost:5000"
в конец своегоpackage.json
?