Django with mod_wsgi returns 403 error

六眼飞鱼酱① 提交于 2019-12-18 08:54:39

问题


I am trying to use Django with Apache (and mod_wsgi). With the default Django webserver everything was going well, but now I get 403 (access forbidden) error when trying to load the page. I searched previous posts here and read official docs but the solutions there weren't helpful.

Here are the lines from my httpd.conf:

WSGIScriptAlias / /home/karlis/django/apache/django.wsgi

<Directory /home/karlis/django/apache>
Order allow,deny
Allow from all
</Directory>

Alias /media/ /home/karlis/django/media

<Directory /home/karlis/django/media>
Order deny,allow
Allow from all
</Directory>

Permissions are set to 770 and there is sticky bit set to all folders under /home/karlis/django. I have django 1.2.3, mod_wsgi 3.2, apache 2.2.15 and I run Arch Linux.

What I am doing wrong here?

Thanks in advance! -skazhy


回答1:


Apache runs as a special user, it will not be able to read stuff with permissions of 770.

Watch the talk at:

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

which explains things about permissions.

The key for working out the problem is what error message appears in your Apache error log. You do not even state what error messages you get in the log file. The talk linked to shows what those error messages might be and what they mean.




回答2:


There is one other gotcha:

Check your httpd.conf file for the following configuration:

<IfModule mime_module>
      AddHandler cgi-script .cgi .pl .py
</IfModule>

This will cause the error.

.py MUST NOT be configured as a CGI script




回答3:


Try this instead your directories statements:

<Location />
    Order Allow,Deny
    Allow from all
</Location>


来源:https://stackoverflow.com/questions/3749331/django-with-mod-wsgi-returns-403-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!