繁体   English   中英

Apache2 mod_wsgi 403禁止错误

[英]Apache2 mod_wsgi 403 forbidden error

我把它配置正确,但后来我决定重新安装我的Debian(顺便提一下从wheezy切换到jessie版本)。 这是问题所在:

我有一个python mod_wsgi应用程序: /mnt/doc/Python/www/index.py

$ ls -l / | grep mnt
drwxr-xr-x   3 root root  4096 sty 12 09:36 mnt

$ ls -l /mnt
drwxrwxrwx 1 sven sven 20480 sty  7 19:34 doc

$ ls -l /mnt/doc/Python/www/
total 12
drwxrwxrwx 1 sven sven 4096 Jan  3 19:52 core
-rwxrwxrwx 1 sven sven    0 Dec 22 13:25 __init__.py
drwxrwxrwx 1 sven sven    0 Dec 24 00:11 silva
-rwxrwxrwx 1 sven sven  984 Dec 22 13:47 silva.py
-rwxrwxrwx 1 sven sven  697 Dec 25 13:32 txt

所有子目录都具有与/mnt/doc相同的权限,但在尝试打开网站时仍然会收到403 Forbidden错误。 它的配置如下:

WSGIScriptAlias /huh /mnt/doc/Python/www/index.py                 
<Directory /mnt/doc/Python/www>                                   
    Order allow,deny                                                            
    Allow from all                                                              
</Directory>

尝试打开页面时,Apache2日志中会显示以下消息:

[authz_core:error] [pid 15269:tid 140518201730816] [client ::1:44130] AH01630: client denied by server configuration: /mnt/doc/Python/www/index.py

我很确定我完全复制了以前的配置。 最近发生了什么变化?

编辑:我忽略了添加我使用Python 3.3和libapache2-mod-wsgi-py3 Debian软件包。

我终于解决了。 pxl是半权利的,因为不仅Allow from all应该被Require all granted替换,而且还Order allow,deny不再需要Order allow,deny 事实证明是我的错误的原因。 完整的脚本别名配置应该是这样的:

WSGIScriptAlias /huh /mnt/doc/Python/www/index.py                 
<Directory /mnt/doc/Python/www>                                   
    Require all granted
</Directory>

它有效。

Allow from all替换为Allow from all Require all granted

Apache模块mod_authz_core参考

我写的如下,

    WSGIScriptAlias /hello /home/myself/projects/hello/hello.wsgi
    <Directory /home/myself/projects/hello>
    Order allow,deny
    Allow from all
    Require all granted
    </Directory>

它的工作原理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM