Apache httpd
Apache httpd — это быстрый HTTP-сервер, предназначенный для работы в производственной среде. При работе с вашим приложением с помощью одного из WSGI-серверов, перечисленных в Развертывание в продакшене, часто бывает целесообразно или необходимо разместить перед ним отдельный HTTP-сервер. Этот «обратный прокси» может лучше обрабатывать входящие запросы, TLS и другие вопросы безопасности и производительности, чем WSGI-сервер.
httpd можно установить с помощью системного менеджера пакетов или предварительно собранного исполняемого файла для Windows. Установка и запуск самого httpd выходят за рамки данного документа. На этой странице описаны основы настройки httpd для проксирования вашего приложения. Обязательно ознакомьтесь с его документацией, чтобы понять доступные функции.
Имя домена
Приобретение и настройка имени домена выходят за рамки данного документа. Как правило, вы покупаете имя домена у регистратора, оплачиваете серверное пространство у хостинг-провайдера, а затем указываете регистратору назначаемые ему DNS-серверы хостинг-провайдера.
Для моделирования этого вы также можете отредактировать файл hosts, расположенный по адресу /etc/hosts в Linux. Добавьте строку, которая связывает имя с локальным IP-адресом.
Современные системы Linux могут быть настроены так, чтобы обрабатывать любые имена домена, заканчивающиеся на .localhost, таким образом, без добавления их в файл hosts.
/etc/hosts127.0.0.1 hello.localhost
Настройка
Конфигурация httpd расположена в /etc/httpd/conf/httpd.conf в Linux. Она может отличаться в зависимости от операционной системы. Проверьте документацию и найдите httpd.conf.
Удалите или прокомментируйте любую существующую директиву DocumentRoot. Добавьте приведенные ниже строки конфигурации. Мы предположим, что WSGI-сервер прослушивает локально по адресу http://127.0.0.1:8000.
/etc/httpd/conf/httpd.confLoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so ProxyPass / http://127.0.0.1:8000/ RequestHeader set X-Forwarded-Proto http RequestHeader set X-Forwarded-Prefix /
Строки LoadModule могут уже существовать. Если это так, убедитесь, что они не закомментированы, а не добавляйте их вручную.
Затем Укажите Werkzeug, что он находится за прокси, чтобы ваше приложение использовало заголовки X-Forwarded. X-Forwarded-For и X-Forwarded-Host автоматически устанавливаются ProxyPass.
Статические файлы
Если ваше приложение имеет статические файлы, такие как JavaScript, CSS и изображения, будет эффективнее, если Nginx будет обслуживать их напрямую, а не через Python-приложение.
Предполагая, что статические файлы должны быть доступны по URL /static/, а хранятся по пути /home/project/static/, добавьте следующее в вышеуказанную конфигурацию.
Alias /static/ /home/project/static/
© 2007 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/latest/deployment/apache-httpd/