Я написал 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>
Извинения, еслиЯ не очень хорошо объяснил. Хорошо, когда я запускаю main.py
с помощью команды sudo python main.py
, я могу загрузить файл. Но после настройки apache и нажатия на тот же URL-адрес получение ответа как 403 запрещено You don't have permission to access /api/v1/fileupload on this server.
Пожалуйста, помогите мне. Я перепробовал все решения, но не смог исправить ошибку. Спасибо