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 могут уже существовать. Если это так, убедитесь, что они не закомментированы, а не добавляйте их вручную.
Затем Укажите Flask, что он находится за прокси-сервером, чтобы ваше приложение использовало заголовки X-Forwarded. X-Forwarded-For и X-Forwarded-Host автоматически устанавливаются ProxyPass.
© 2010 Pallets
Licensed under the BSD 3-clause License.
https://flask.palletsprojects.com/en/stable/deploying/apache-httpd/