Найти в Дзене
Канал Сусанина

Как сайт на Flask сделать общедоступным в глобальной сети через свой сервер с помощью IIS и реверсивного прокси.

Всем привет! В этой статье я покажу, как мне кажется, самый (или один из) простой способ развёртывания Flask сайта на собственном сервере. Эта статья также будет полезна и тем, кто хочет реализовать реверсивный прокси не для Flask, а для чего-то другого. В роли операционной системы у меня выступает Windows Server 2012. В этой статье я не показываю, как настроить IIS и привязать домен к ip, так как это другая тема, и на неё уже есть достаточно много статей. Чтобы у вас всё работало, вам необходим статический ip и привязанный к нему домен. В первую очередь, для реализации реверсивного прокси, нужно установить Application Request Routing, в этом нет ничего сложного. После установки запускаем IIS. Добавляем новый сайт: После нажатия "ОК", один раз нажимаем на сайт (расположен слева), посередине нажимаем на "URL Rewrite" (Переопределение URL-адресов). Теперь нажимаем на "Add Rule(s)…" (Добавить правила...). В открывшемся окне выбираем "Reverse Proxy" (Обратный прокси-сервер), нажимаем "O

Всем привет! В этой статье я покажу, как мне кажется, самый (или один из) простой способ развёртывания Flask сайта на собственном сервере. Эта статья также будет полезна и тем, кто хочет реализовать реверсивный прокси не для Flask, а для чего-то другого. В роли операционной системы у меня выступает Windows Server 2012.

В этой статье я не показываю, как настроить IIS и привязать домен к ip, так как это другая тема, и на неё уже есть достаточно много статей. Чтобы у вас всё работало, вам необходим статический ip и привязанный к нему домен.

В первую очередь, для реализации реверсивного прокси, нужно установить Application Request Routing, в этом нет ничего сложного.

Отсюда скачиваем Application Request Routing
Отсюда скачиваем Application Request Routing

После установки запускаем IIS. Добавляем новый сайт:

  • Имя сайта: Любое имя для сайта, оно будет отображаться в списке.
  • Физический путь: проект с сайтом.
  • Имя узла: ваш домен.
Добавление сайта в IIS
Добавление сайта в IIS

После нажатия "ОК", один раз нажимаем на сайт (расположен слева), посередине нажимаем на "URL Rewrite" (Переопределение URL-адресов).

Переопределение URL-адресов
Переопределение URL-адресов

Теперь нажимаем на "Add Rule(s)…" (Добавить правила...).

Добавить правила...
Добавить правила...

В открывшемся окне выбираем "Reverse Proxy" (Обратный прокси-сервер), нажимаем "OK".

Обратный прокси-сервер
Обратный прокси-сервер

В открывшемся окне вводим ip и порт, на котором работает локальный сайт. У Flask по умолчанию 127.0.0.1:5000. Ставим галочку на "Enable SSL Offloading" (включить разгрузку SSL). Нажимаем "OK".

Настройка правила
Настройка правила

В папке с сайтом создаётся файл web.config, в нём:

Теперь осталось только запустить .py файл с сайтом и, если сайт в IIS еще не запущен, запустить его.

Запуск сайта
Запуск сайта

Теперь, если вы всё правильно сделали, то перейдя на ваш домен, у вас (и у кого угодно еще) загрузится сайт.
На этом всё. Если эта статья помогла вам или вы считаете её полезной (а если и то и то, то вообще супер), то можете поставить лайк для продвижения статьи. Всем спасибо!