我无法连接到https女服务员wsgi服务器

时间:2013-10-19 06:03:42

标签: python https pyramid wsgi waitress

我已经尝试了python金字塔框架的教程但是,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 个答案:

答案 0 :(得分:5)

Waitress实际上不支持解码https请求。支持https的唯一方法是将服务员放在反向代理(如nginx)后面。然后,您允许nginx解密请求并将其传递给女服务员。这里的问题是服务员现在认为它正在提供一个http请求,因为它是从nginx看到的。 url_scheme设置用于告诉服务员所有进入服务员的请求实际上都是https,然后它可以转发到应用程序,该应用程序使用该事实来帮助您的应用程序使用https方案而不是http来生成URL。 / p>

希望这是有道理的,但无论哪种方式都应该清楚,当您的粘贴中没有实际创建证书或私钥时,您的https设置无法正常工作。