Spec-Zone.ru › Werkzeug 2.3

Apache httpd

Apache httpd — это быстрый HTTP-сервер, предназначенный для работы в производственной среде. При работе с вашим приложением с помощью одного из WSGI-серверов, перечисленных в Развертывание в продакшене, часто бывает целесообразно или необходимо разместить перед ним отдельный HTTP-сервер. Этот «обратный прокси» может лучше обрабатывать входящие запросы, TLS и другие вопросы безопасности и производительности, чем WSGI-сервер.

httpd можно установить с помощью системного менеджера пакетов или предварительно собранного исполняемого файла для Windows. Установка и запуск самого httpd выходят за рамки данного документа. На этой странице описаны основы настройки httpd для проксирования вашего приложения. Обязательно ознакомьтесь с его документацией, чтобы понять доступные функции.

Имя домена

Приобретение и настройка имени домена выходят за рамки данного документа. Как правило, вы покупаете имя домена у регистратора, оплачиваете серверное пространство у хостинг-провайдера, а затем указываете регистратору назначаемые ему DNS-серверы хостинг-провайдера.

Для моделирования этого вы также можете отредактировать файл hosts, расположенный по адресу /etc/hosts в Linux. Добавьте строку, которая связывает имя с локальным IP-адресом.

Современные системы Linux могут быть настроены так, чтобы обрабатывать любые имена домена, заканчивающиеся на .localhost, таким образом, без добавления их в файл hosts.

/etc/hosts
127.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.conf
LoadModule 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API