Получая “403 доступа запрещен” ошибка вместо того, чтобы служить файлу (использующий django, gunicorn nginx)

watch 'ps aux | grep httpd | wc'
2
задан 19 September 2012 в 08:33
2 ответа

Вы должны использовать root :

location /protected/ {
        internal;
        root /home/user;
}

вместо своего псевдонима :

location /protected/ {
        internal;
        alias /home/user/protected;
}
1
ответ дан 3 December 2019 в 13:05

Недавно у меня была такая же проблема. Это может быть совокупность факторов. Я нашел, как исправить 403 отказ в доступе, заменив пользователя в файле nginx.conf.

  • Я развернул свой веб-сайт на сервере Ubuntu с помощью Digital Ocean.
  • Я создал нового пользователя на моем новом сервере ubuntu и дал права администратора
    adduser newuser

    usermod -aG sudo newuser 
  • Я обновил свой новый сервер и установил несколько пакетов
    sudo apt update

    sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl 
  • Я следовал всем этим прекрасным инструкциям как развернуть ваш сайт в Digital Ocean
  • Поскольку я изменил пользователя и подключаюсь к своему новому серверу по ssh, используя этого нового пользователя, мне нужно заменить пользователя в nginx.conf. По умолчанию пользователь nginx.confwww-data:
    user www-data;

    worker_processes auto;

    pid /run/nginx.pid;

. Затем я заменил его своим пользователем sudo и решил свою проблему.

    user newuser;

    worker_processes auto;

    pid /run/nginx.pid;
  • Потом перезапускаю nginx, gunicorn и postgresql(даже если последний не особо нужен)
    sudo systemctl restart nginx 

    sudo systemctl restart gunicorn

    sudo systemctl restart postgresql

И тада.. :) больше проблем нет.

0
ответ дан 28 May 2021 в 08:57

Теги

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