当前位置: 首页 > 知识库问答 >
问题:

使用FLASK app和mod_wsgi无法避免403禁止错误

姚善
2023-03-14

按照一个又一个教程并尝试了一百万个不同的配置,我仍然无法让我的烧瓶应用程序在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数据:www数据,并且我得到的错误是403禁止。

我在error.log中得到的信息:

[8月14日星期六09:22:57.441200 2021][authz_core:错误][pid 24121:tid 140166979081984][客户端192.168.0.15:41200]AH01630:客户端被服务器配置拒绝:/server/FLASKWSGI/ppspportal.wsgi

共有1个答案

万俟修诚
2023-03-14

听起来Apache没有访问该对象的权限。请确保您为此特定原因设置了帐户,并授予文件访问此帐户的权限。然后使用<code>chown</code>为该用户设置对这些文件的访问权限。

开发环境中,可以是例如Apache帐户。chown-R www运行: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>

-学分:@安德森

注意:不幸的是,我没有足够的声誉将此问题视为重复项。

 类似资料:
  • 问题内容: 我在主目录中创建了Django项目,因此它位于主目录中。 设定 Contents of Contect of Error in Contents of Permissions of Permissions of Permissions of 我在浏览器上遇到错误 请帮助我进行配置。 编辑 目前,我正在通过改变前进 至 因此,这肯定与文件配置有关,但我担心的是,我在该文件中仅添加了5行,

  • 问题内容: 我制作了供个人使用的python脚本,但不适用于Wikipedia … 这项工作: 这不起作用: 这是错误: 问题答案: 在当前代码内: Python 2.X 的Python 3.X 带有Selenium的Python 3.X(执行Javascript函数) 修改后的版本起作用的原因是因为Wikipedia检查User-Agent是“流行的浏览器”

  • 我想暂时禁用整个应用程序的Spring Security性,但我总是被403禁止 删除控制器中的@PreAuthorize注释不会给出任何结果。未使用此注释标记的endpoint也会丢弃我 403 禁止 我不需要基本身份验证 我不需要身份验证 我的Spring Security配置:(/,/api/**,/**,**不工作,我总是得到403禁止) 我的一个控制者:

  • 有人能帮我找出我的SSLHandshake有什么问题吗? 我有一个Java客户端应用程序(使用Spring WS-security)试图将数据发送到服务器(不在我的控制范围内),我设置了以下内容 具有来自服务器的证书的客户端信任库 Java密钥库与我的私人密钥输入证书 在我的调试SSL握手日志(某些部分缩写)下面,我似乎找不到任何错误。。这是服务器端需要调查的事情吗?(我不确定,他们也不确定,这就

  • 问题内容: 我最近尝试使用Apache设置测试服务器。该站点必须在domain下运行。我总是会出错。我使用的是Ubuntu 10.10服务器版本。doc根目录在dir下。以下是我的设置: / var / www的内容 服务器上主机文件的内容(IP 192.168.2.5) 网站配置 我的文档根目录中没有文件。权限设置正确(可通过www-data读取)。 如果我从桌面输入IP地址,则该站点将正确显示

  • 最近,我一直试图在CentOS服务器上使用< code>mod_wsgi部署django站点,但到目前为止,当我试图通过我的笔记本电脑访问Django站点时,网页只显示< code >错误:403禁止您没有权限在此服务器上访问/ 除了阅读所有显而易见的文档之外,我还研究了前面的这些问题: Django mod_wsgi Apache = 403 禁止 错误消息“禁止您无权访问 / 在此服务器上”