我无法连接到https女服务员wsgi服务器
问题内容:
我已经尝试了python pyramid框架的教程,但是https连接,无论如何服务生。
http://docs.pylonsproject.org/projects/pyramid/zh-
CN/latest/tutorials/wiki2/installation.html
如果您查看女服务员的文档,则有一个名为pasteURL格式的名为“ url_scheme”的项目。我尝试将以下内容添加到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
请告诉我们文件的位置将对我有帮助。非常感谢你!
问题答案:
服务员实际上不支持解码https请求。支持https的唯一方法是将女服务员放在反向代理(例如nginx)后面。然后,您允许nginx解密请求并将其传递给女服务员。这里的问题是女服务员现在认为它正在处理一个http请求,因为那是从nginx看到的。该url_scheme
设置用于告诉女服务员所有进入女服务员的请求实际上都是https,然后可以将其转发到应用程序,该程序使用该事实来帮助您的应用程序使用https方案而不是http生成url。
希望这是有道理的,但是无论哪种方式,您应该清楚地知道在粘贴中没有实际创建证书或私钥的位置时,https设置将无法正常工作。