Почему не работает проксирование на unix socket?

У меня запущен сайт на FastAPI, я запустил его в виде unix socket-а, дальше я настроил проксирование в nginx, но при переходе на страницу, мне выдавала 502 Bad Gateway. Я решил перезапустить программу на локальном ip и все заработало. Я считаю, что решение с использованием unix socket лучше, как мне настроить nginx под это?
Сначала пробывал так:
server {
    listen 80 default;
    server_name example.ru;
    listen / {
        include proxy_params;
        proxy_pass http://unix:/home/sites/api/gunicorn.sock;
    }
}

Но это не сработало и я решил сделать чуть иначе:
server {
    listen 80 default;
    server_name example.ru;
    listen / {
        include proxy_params;
        proxy_pass http://api/;
    }
}

upstream api {
    server unix:/home/sites/api/gunicorn.sock;
}

Но это тоже не помогло, в чем может быть проблема?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
Дай пользователю от которого работает Nginx права на чтение/запись в этот сокет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы