Apache httpd
Apache httpd — это быстрый HTTP-сервер, предназначенный для рабочей среды. При обслуживании вашего приложения с помощью одного из серверов WSGI, перечисленных в Развёртывание в рабочей среде, часто бывает целесообразно или необходимо разместить перед ним отдельный HTTP-сервер. Этот «обратный прокси» может лучше обрабатывать входящие запросы, TLS и другие вопросы безопасности и производительности, чем сервер WSGI.
httpd можно установить с помощью менеджера пакетов вашей системы или предварительно скомпилированного исполняемого файла для Windows. Установка и запуск самого httpd не входит в область применения этого документа. Эта страница описывает основы настройки httpd для проксирования вашего приложения. Обязательно ознакомьтесь с его документацией, чтобы понять доступные функции.
Имя домена
Получение и настройка имени домена не входят в область применения этого документа. Как правило, вы покупаете имя домена у регистратора, оплачиваете дисковое пространство у хостинг-провайдера, а затем указываете регистратору имена серверов хостинг-провайдера.
Для имитации этого можно также отредактировать файл 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/3.0.x/deployment/apache-httpd/