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