2

Я запускаю веб-сервер https, используя uWSGI (версия 2.0.14-debian; на малиновом Pi с растяжкой raspian / debian 9).

Для https у меня есть следующие строки в файле конфигурации:

[uwsgi]
...
protocol = https
https-socket = =0,/etc/ssl/certs/star.chained-certificate.crt,/etc/ssl/private/star.privatekey.pem
...

Я предоставляю порт как "--shared-socket 0.0.0.0:443" в моем файле службы systemd. Это работает до тех пор, пока я запускаю сервер uwsgi в качестве службы systemd, но не при активации сокетов.

Чтобы использовать сокет-активацию, я не указываю shared-сокет в файле uwsgi.service. Пока входящий запрос запускает службу, uwsgi не получает никаких данных или запросов, и запрос https истекает.

Глядя на исходный код (uwsgi_setup_systemd () и uwsgi_bind_sockets ()), сокет, предоставляемый systemd, может быть связан как «--socket», а не как «--shared-socket» (что объясняет, почему активация сокета работает в моих руках для http, но не для https).

Как правильно настроить uWSGI для https и активацию через сокет?

0