nginx
nginx — это быстрый HTTP-сервер, предназначенный для рабочей среды. При использовании вашего приложения с одним из серверов WSGI, перечисленных в Развёртывание в рабочей среде, часто бывает желательно или необходимо разместить перед ним отдельный HTTP-сервер. Этот «обратный прокси» может лучше обрабатывать входящие запросы, TLS и другие вопросы безопасности и производительности, чем сервер WSGI.
Nginx можно установить с помощью менеджера пакетов вашей системы или предварительно скомпилированного исполняемого файла для Windows. Установка и запуск самого Nginx не входит в задачи этого документа. Эта страница описывает основы настройки Nginx для проксирования вашего приложения. Обязательно ознакомьтесь с его документацией, чтобы понять доступные возможности.
Имя домена
Получение и настройка имени домена не входят в задачи этого документа. В общем случае вы покупаете имя домена у регистратора, оплачиваете дисковое пространство у хостинг-провайдера, а затем указываете регистратору DNS-серверы хостинг-провайдера.
Для моделирования этого вы также можете отредактировать файл hosts, расположенный по адресу /etc/hosts в Linux. Добавьте строку, которая связывает имя с локальным IP-адресом.
Современные системы Linux могут быть настроены так, чтобы любые имена домена, заканчивающиеся на .localhost, обрабатывались подобным образом, без добавления в файл hosts.
/etc/hosts127.0.0.1 hello.localhost
Настройка
Файл конфигурации nginx расположен по адресу /etc/nginx/nginx.conf в Linux. Он может отличаться в зависимости от вашей операционной системы. Проверьте документацию и найдите nginx.conf.
Удалите или закомментируйте любой существующий раздел server. Добавьте раздел server и используйте директиву proxy_pass для указания адреса, на котором работает сервер WSGI. Предположим, что сервер WSGI работает локально по адресу http://127.0.0.1:8000.
/etc/nginx.confserver {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /;
}
}
Затем Укажите Flask, что он работает за прокси, чтобы ваше приложение использовало эти заголовки.
© 2007–2022 Pallets
Licensed under the BSD 3-clause License.
https://flask.palletsprojects.com/en/2.3.x/deploying/nginx/