在 apache(centos 7)上运行烧瓶应用程序时被禁止 403

Posted

技术标签:

【中文标题】在 apache(centos 7)上运行烧瓶应用程序时被禁止 403【英文标题】:Getting 403 forbidden while running flask app on apache(centos 7) 【发布时间】:2020-03-03 15:50:33 【问题描述】:

我编写了一个flask rest API,它在使用命令sudo python main.py 执行时工作正常。我想在apache中配置它,下面是我所做的。

文件结构/home/user/project_name/src/restApi/:

- __init__.py
- main.py
- app.py
- service.wsgi

这里是main.py

from app import app

@app.route('/api/v1/fileupload', methods=['POST'])
@auth.login_required
def upload_file():
  // code


@auth.verify_password
def verify(username, password):
    if not (username and password):
        return False
    return USERNAME == username and PASSWORD == password

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80)

这是我的app.py

from flask import Flask

app = Flask(__name__)
//some config

这是我的service.wsgi

#!/usr/bin/python
import sys

sys.path.insert(3, "/home/user/project_name/src/restApi/")
from app import app as application

这里是/etc/httpd/config/httpd.config

<VirtualHost *:80>
    ServerName 34.73.243.234
    DocumentRoot /home/user/project_name/src/restApi/
    WSGIScriptAlias /api/v1/fileupload /home/user/project_name/src/restApi/service.wsgi
    <Directory /home/user/project_name/src/restApi/>
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

抱歉,如果我没有很好地解释。好吧,当我使用命令sudo python main.py 运行main.py 时,我可以上传文件。但是在配置 apache 并点击相同的 URL 后,得到一个响应为 403 禁止 You don't have permission to access /api/v1/fileupload on this server.

请帮帮我。我已经尝试了所有解决方案,最终无法修复错误。 谢谢

【问题讨论】:

你重启 Apache 服务了吗? 是的,我已经使用sudo apachectl restart重新启动了 Apache 服务器 【参考方案1】:

/etc/httpd/config/httpd.config

你有常设的 DocumentRoot,我的意思是这应该被评论

【讨论】:

以上是关于在 apache(centos 7)上运行烧瓶应用程序时被禁止 403的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上通过 Apache Lounge 部署烧瓶应用程序时出现内部服务器错误

无法在 gunicorn wsgi 服务器上运行烧瓶应用程序

在 Apache 服务器上部署烧瓶应用程序的问题

如何在 apache windows 10 中使用烧瓶修复错误 500

Apache未在CentOS 7服务器上运行

Apache 未在 CentOS 7 服务器上运行