[英]Uable to get around 403 Forbidden Error with FLASK app and mod_wsgi
按照一个接一个的教程并尝试一百万种不同的配置,我仍然无法让我的 flask 应用程序在 mod_wsgi 下运行:
我的 WSGI 脚本
#!/usr/bin/python
import sys
import logging
import site
logging.basicConfig(stream=sys.stderr)
site.addsitedir('/server/FLASKENV/lib/python3.9/site-packages/')
sys.path.insert(0,"/server/FLASKAPPS/PPSPortal/restapi/")
from main.py import app as application
application.secret_key="REDACTED"
Apache 2 配置:
VirtualHost *:80>
ServerName myserver.com
ServerAdmin me@myserver.com
WSGIScriptAlias / /server/FLASKWSGI/ppsportal.wsgi
WSGIDaemonProcess ppsrestapi user=www-data group=www-data threads=5 python-home=/server/FLASKENV
<Directory /server/FLASKAPPS/PPSPortal/restapi>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog /server/FLASKAPPS/PPSPortal/restapi/logs/error.log
LogLevel warn
CustomLog /server/FLASKAPPS/PPSPortal/restapi/logs/access.log combined
</VirtualHost>
这些应用程序所在的整个目录都属于我的www-data:www-data
,我得到的错误是 403 Forbidden。
我在 error.log 中得到了什么:
[Sat Aug 14 09:22:57.441200 2021] [authz_core:error] [pid 24121:tid 140166979081984] [client 192.168.0.15:41200] AH01630: 客户端被服务器配置拒绝:/server/FLASKWSGI/ppsportal.wsgi
听起来 Apache 无法访问有问题的 object。 确保您为此特定原因设置了一个帐户,并授予文件访问该帐户的权限。 然后使用chown
为该用户设置对这些文件的访问权限。
在开发环境中可以是例如 Apache 帐户。 chown -R wwwrun:www /home/user1/Develop/
或者您可以授予所有人访问权限,但我不推荐这样做。 chmod 777 -R /home/user1/Develop/
如果这不起作用,您可能需要手动允许访问 apache 配置中的 wsgi 文件。
它应该看起来像这样。
WSGIDaemonProcess flask_dbadmin user=wwwrun group=www threads=5
<VirtualHost *:80>
........
<Directory /home/user1/Develop/ >
Order allow,deny
Allow from all
</Directory>
<Files flask_dbadmin.wsgi>
Order allow,deny
Allow from all
</Files>
</VirtualHost>
-学分:@eandersson
注意:不幸的是,我没有足够的声誉来将这个问题投票为重复问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.