【发布时间】: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 服务器
标签: python apache flask mod-wsgi httpd.conf