Ubuntu: Ошибка доступа Nginx при подключении к восходящему сокету uWSGI - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь настроить свой веб-сервис Flask + uWSGI + Nginx на экземпляр AWS EC2, на котором работает Ubuntu 18.04.Nginx получает ошибку разрешения при подключении к сокету uWSGI:

connect() to unix:/home/myuser/myserv/myserv.sock failed (13: Permission denied) while connecting to upstream

Настройка:

  • Пользователь приложения: myuser (домашний каталог: /home/myuser/)
  • Приложение: myserv (установочный каталог: /home/myuser/myserv/, лог-каталог: /home/myuser/myserv/log/)
  • Разъем uWSGI: /home/myuser/myserv/myserv.sock
  • Пользователь Nginx: www-data для рабочего процесса,root для основного процесса
  • Пользователь приложения myuser также добавлен в группу www-data
  • Сходства, общие для домашнего каталога пользователя приложения, каталога установки приложения и каталога журнала и сокета uWSGIфайл:
    • то же владение: myuser: www-data
    • то же разрешение: 760 для dir, 660 для сокета file

Наблюдения отустранение неполадок:

  1. Nginx может записать вышеуказанную ошибку в журнал приложения dir /home/myuser/myserv/log/.
  2. SELinux по умолчанию отключен.
  3. Если расположение файла сокетаизменено на /tmp/myserv.sock, проблема исчезает.
  4. Потеря разрешения сокета с 660 до 666 не помогает.

Есть несколько предложенийпри поиске в Интернете, но они кажутся неприменимыми в моем случае :

  • Либо файл сокета, либо любой из содержащихся в нем каталогов не имеет прав / прав владения>> void by observatioon # 1, # 3 и # 4
  • Возможно, SELinux блокирует Nginx от чтения файла сокета >> не относится к наблюдению # 2
  • Nginx и uWSGI должны работать одинаковопользователь и та же группа >> аннулировано наблюдением # 3

Есть идеи, что не так с моей настройкой? Спасибо.

...