Django - 许可被拒绝

时间:2016-05-15 12:17:05

标签: django apache http-status-code-403 permission-denied

我试图在我的vps(ubuntu服务器15.04)中在Apache(Apache 2.4.10)上设置Django(Django 1.9.6)。

我遵循了这个指南:HERE

不幸的是,当我尝试访问我的网站时,服务器返回此错误(403 Forbidden):`

[authz_core:error]  AH01630: client denied by server configuration: /home/user/proj/proj/wsgi.py

我到处寻找解决方案,但我尝试的一切都没有用。

这是我的/etc/apache2/sites-available/000-default.conf文件:

    Alias /static /home/user/proj/Gestione/static
    <Directory /home/user/proj/Gestione/static>
        Order deny,allow
        Allow from all
    </Directory>

    <Directory /home/user/proj/proj>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
    WSGIDaemonProcess proj python-path=/home/user/proj:/home/user/.local/lib/python3.4/site-p$
    WSGIProcessGroup proj
    WSGIScriptAlias / /home/user/proj/proj/wsgi.py

然后我在/etc/apache2/apache2.conf上找到了这段代码,我不知道这是否会造成问题:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

这是我的wsgy.py:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings")
application = get_wsgi_application()

我没有使用virtualenv

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

在Apache 2.4中,您应该使用Require all granted而不是Order deny,allowAllow from all

看起来您在000-default.conf中的两个地方使用旧样式。尝试将其更新为:

<Directory /home/user/proj/Gestione/static>
    Require all granted
</Directory>

<Directory /home/user/proj/proj>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>