Как я могу запустить сервер Python Bokeh по HTTPS? - PullRequest
1 голос
/ 01 мая 2020

Я уже прочитал документы: документы

и этот вопрос: переполнение

, но не нашел решения для моей проблемы. Я использую Let'encrypt с certbot. Мои сертификаты находятся по адресу /etc/letsencrypt/live/domainname/cert.pem.

Я уже попробовал следующее выражение: bokeh serve / var / www/domainname/example.py --allow-websocket-origin = domainname: 5006 --ssl-certfile /etc/letsencrypt/live/domainname/cert.pem

Сначала я получил ошибку разрешения, а после настройки прав я получил еще одну ошибку с файлом .pem.

Итак, что мне нужно сделать, чтобы получить боке на SSL?

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 01 мая 2020

letsencrypt certbot выполняется как root, поэтому его выходные файлы принадлежат root, поэтому только root может получить доступ к вашему файлу /etc/letsencrypt/live/domainname/cert.pem

самое простое решение - войти в систему как root и скопировать эти файлы в другом месте и сделайте их принадлежащими вашему обычному идентификатору пользователя ... вы не говорите, в какой ОС вы работаете, однако вот как на linux

sudo mkdir /some/tlscertdir  #  make new tls certificate dir

sudo cp -r /etc/letsencrypt/live/domainname /some/tlscertdir/ # copy dir from to

sudo chown -R mynormalid:mynormalid /some/tlscertdir # recursively change owner to given userid of given dir

затем запустите ваш сервер как обычный идентификатор пользователя (mynormalid )

bokeh serve /var/www/domainname/example.py --allow-websocket-origin=domainname:5006 --ssl-certfile /some/tlscertdir/domainname/cert.pem

Я настоятельно советую вам не запускать сервер под root. Никогда не запускайте сервер как root

...