LINUX.ORG.RU
ФорумAdmin

HTTPS в Gunicorn + Meinheld

 , ,


0

1

Пытаюсь настроить работу WSGI-скрипта в Докере с Gunicorn и Meinheld на основе образа https://github.com/tiangolo/meinheld-gunicorn-docker/tree/master/python3.7-al...

По HTTP заработало сразу, когда заменил entrypoint.sh на:

gunicorn -k "egg:meinheld#gunicorn_worker" \
  -c "$GUNICORN_CONF" "$MODULE_NAME:$VARIABLE_NAME" \
  --chdir "$GUNICORN_WORKDIR" \
  --limit-request-line 0 \
  --access-logfile - \
  --log-level debug \
  --capture-output
Для HTTPS добавил сертификаты и ключ, и явно прописал bind для обоих портов:
gunicorn -k "egg:meinheld#gunicorn_worker" \
  -c "$GUNICORN_CONF" "$MODULE_NAME:$VARIABLE_NAME" \
  --chdir "$GUNICORN_WORKDIR" \
  --limit-request-line 0 \
  --access-logfile - \
  --log-level debug \
  --capture-output \
  --certfile $S_HTTP_TLS_CERTIFICATE \
  --keyfile $S_HTTP_TLS_KEY \
  --bind 0.0.0.0:80 --bind 0.0.0.0:443
но оба порта отдают HTTP.

Лог при включении: https://pastebin.com/E88vib2C

Что сделать, чтобы на 443 порту отдавал HTTPS?

P.S. Если выбросить

-k "egg:meinheld#gunicorn_worker"
, оба порта начинают отдавать HTTPS. То есть в дефолтной конфигурации Meinheld превращает HTTPS в HTTP. Как его сконфигурировать?

P.P.S. Сайт Meinheld заработал. Оказывается, поддержка SSL отсутствует: https://github.com/mopemope/meinheld/issues/64

Что значит «please PR»? «Пожалуйста, сделай пулл-реквест, добавляющий поддержку»?

★★★

Последнее исправление: olegd (всего исправлений: 3)
Ответ на: комментарий от WitcherGeralt

В тестах эта связка показала себя существенно быстрее, чем голый Gunicorn, nginx + uwsgi или Apache + mod_wsgi.

Но HTTPS важнее.

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

NGINX Unit is free and open source. Please see the installation instructions to get started. We have prebuilt packages for most operating systems, including Ubuntu and Red Hat Enterprise Linux. We also make a Docker container available on Docker Hub.

https://www.nginx.com/blog/nginx-unit-1-0-released/

https://github.com/nginx/unit — вроде бы, оно.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

А, увидел слово «demo» и решил, что демо-версия :)

olegd ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.