Я использую сервер Debian 9 с Apache2 и Flask.Flask работает на порту 5000, а Apache2 работает на порту 80.
Интерфейс Я выполняю вызовы AJAX, но получаю CORS, так как браузер блокирует запрос (по соображениям безопасности).Я не хочу включать CORS на сервере, так как знаю, что это создает угрозу безопасности.
Насколько я знаю, чтобы иметь возможность "запустить" флешку на порту 80, мне нужно направить все запросы напорт 80 и используйте apache для перенаправления трафика на Flask.
И, насколько мне известно, для этого мне нужно использовать mod_wsgi.
У меня также есть конечная точка API: v1 / checkemail
Таким образом, запрос будет mysite.com:5000/v1/checkemail?=123@mysite.com
Здесь возникает проблема.
Вот какмои настройки:
веб-сервер получает файлы из /var/www/mysite.com/html Файл API Python Flask находится в / DEV / API с именем API.py
Я также мой файл wsgiнаходится в / DEV / с именем API.wsgi
Содержимое API.wsgi:
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/DEV/")
from API import app
app.root_path = '/DEV/'
И содержимое /etc/apache2/sites-available/mysite.com.conf:
<VirtualHost *:80>
ServerName mysite.com
ServerAdmin Test@mysite.com
WSGIScriptAlias /v1/verify /DEV/API.wsgi
<Directory /DEV/API/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Теперь, запустив API.py, я не получаю ошибку CORS, поскольку она не позволяет мне сделать вызов API, и я получаю 404 по запросу, когда пытаюсь сделать запрос: mysite.com/v1/checkemail?=123@mysite.com
Думаю, я испортил конфигурацию VirtualHost, но я не уверен, как решить эту проблему.Есть идеи?