Я не могу подключиться к серверу https официантка wsgi
Я попробовал учебник Python Pyramid Framework, но, HTTPS-соединение, независимо от того, как официантка. http://docs.pylonsproject.org/projects/pyramid/en/latest/tutorials/wiki2/installation.html
Если вы посмотрите на документы официантки, есть элемент url_scheme в формате pasteDeploy. Я попытался добавить следующее в development.ini:
# # #
# Wsgi server configuration
# # #
[server: main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543
url_scheme = https
Но, похоже, прослушивание http-соединений выполняется командой pserve.
$ serve development.ini - reload
Starting subprocess with file monitor
Starting server in PID 2757.
serving on http://0.0.0.0:6543
Нет ответа при доступе браузера в этом состоянии. Приложение, которое я пытаюсь создать, ожидает доступа https, но вы думаете, что для чего-то еще нужен пакет? Или я где то принципиально не прав? Буду признателен за советы экспертов.
Среда в fedora19, python 3.3.2. следующие пакеты, которые включены в virtualenv:
Chameleon == 2.12
Mako == 0.9.0
MarkupSafe == 0.18
PasteDeploy == 1.5.0
Pygments == 1.6
SQLAlchemy == 0.8.2
WebOb == 1.2.3
coverage == 3.7
nose == 1.3.0
pyramid == 1.4.5
pyramid-debugtoolbar == 1.0.8
pyramid-mako == 0.2
pyramid-tm == 0.7
repoze.lru == 0.6
transaction == 1.4.1
translationstring == 1.1
tutorial == 0.0
venusian == 1.0a8
waitress == 0.8.7
zope.deprecation == 4.0.2
zope.interface == 4.0.5
zope.sqlalchemy == 0.7.3
Пожалуйста, скажите нам, местоположение документа будет полезно для меня, значит. Большое спасибо!
1 ответ
Официантка фактически не поддерживает декодирование запросов https. Единственный способ поддержать https - поставить официантку за обратным прокси-сервером, таким как nginx. Затем вы позволяете nginx расшифровать запрос и передать его официантке. Проблема здесь в том, что официантка теперь думает, что она обслуживает запрос http, потому что это то, что он видит из nginx. url_scheme
Параметр предназначен для сообщения официантке, что все запросы, поступающие в официантку, на самом деле являются https, которые затем могут быть перенаправлены в приложение, которое использует этот факт, чтобы помочь вашему приложению генерировать URL-адреса с использованием схемы https вместо http.
Надеюсь, это имеет смысл, но в любом случае вам должно быть ясно, что ваши настройки https не будут работать, когда нигде в ваших вставках вы фактически не создали сертификат или закрытый ключ.