Python WSGI文件权限问题

Python WSGI文件权限问题,python,apache,flask,server,Python,Apache,Flask,Server,我读过关于类似问题的帖子,但它们似乎都略有不同,因此这篇帖子 我有一个域名和一个网站(如example.com),工作得很好。我现在正在创建一个子域(例如sub.example.com),其中包含一个Flask应用程序(主域不是Flask应用程序),该应用程序还连接到一个SQLite数据库(在同一文件夹中) 设置子域的A记录后,访问子域地址时,我在浏览器中收到以下错误消息:“禁止。您没有访问此资源的权限。” 我做错了什么 Apache的错误日志显示: [Mon Jan 06 15:48:21.3

我读过关于类似问题的帖子,但它们似乎都略有不同,因此这篇帖子

我有一个域名和一个网站(如example.com),工作得很好。我现在正在创建一个子域(例如sub.example.com),其中包含一个Flask应用程序(主域不是Flask应用程序),该应用程序还连接到一个SQLite数据库(在同一文件夹中)

设置子域的A记录后,访问子域地址时,我在浏览器中收到以下错误消息:“禁止。您没有访问此资源的权限。”

我做错了什么

Apache的错误日志显示:

[Mon Jan 06 15:48:21.300079 2020] [authz_core:error] [pid 12194] [client xxx.xxx.xxx.xxx:xxxxx] AH01630: client denied by server configuration: /home/user/show/application.wsgi
保存主Flask文件(application.py)的根文件夹的文件夹权限是
drwxr-xr-x
(即
755
),所有者和组是我的用户名。该文件夹中以及静态和模板文件夹中的所有文件都是
rwxr-xr-x
(即
755
)。由于Apache错误日志提到了应用程序。wsgi特别是,我仔细检查了它的权限,它们也是
755

这是application.wsgi:

#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/home/user/show/")

from show import app as application
application.secret_key = '*******'
(作为脚注,我可能需要在环境变量中设置密钥吗?这就是问题所在吗?如果是,在这种情况下我该如何设置?)

这是子域的.conf文件:

<VirtualHost *:80>
    ServerName sub.example.com
    ServerAdmin admin@example.com
    WSGIScriptAlias / /home/user/show/application.wsgi
    <Directory /home/user/show/>
        Order allow,deny
        Allow from all
    </Directory>
    Alias /static /home/user/show/static
    <Directory /home/user/show/static/>
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ServerName sub.example.com
服务器管理员admin@example.com
WSGIScriptAlias//home/user/show/application.wsgi
命令允许,拒绝
通融
别名/静态/主页/用户/显示/静态
命令允许,拒绝
通融
ErrorLog${APACHE_LOG_DIR}/error.LOG
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

在这里找到了解决方案:

替换的所有实例

Order allow,deny
Allow from all

Require all granted