SSL 和 WSGI 应用程序 - Python
我有一个 WSGI 应用程序,我想将其置于 SSL 后面。我的 WSGI 服务器是 gevent。
在这种情况下,通过 SSL 为应用程序提供服务的好方法是什么?
I have a WSGI app that I would like to place behind SSL. My WSGI server is gevent.
What would a good way to serve the app through SSL in this case be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
gevent.wsgi 模块没有内置 SSL 支持。如果您正在使用它,请将其放在 nginx 后面,它将通过 HTTPS 接收请求,但使用非加密的 HTTP 将它们代理到您的 gevent 应用程序。
gevent.pywsgi模块确实具有内置的 SSL 支持,并且具有兼容的接口。设置keyfile
和certfile
参数以使服务器使用 SSL。这是一个示例:wsgiserver_ssl.py:The gevent.wsgi module does not have built-in SSL support. If you're using it, put it behind nginx which would receive request over HTTPS but proxy them to your gevent app using non-encrypted HTTP.
The
gevent.pywsgimodule does have built-in SSL support and has a compatible interface. Set thekeyfile
andcertfile
arguments to make the server use SSL. Here's an example: wsgiserver_ssl.py:看起来 gevent 现在有一个 ssl 模块。如果您有一个在 gevent 之上实现的 Web 服务器,我想您可以修改它以将传入连接包装到该模块的 ssl 套接字类,然后再将其传递给 http 处理程序。
http://blog.gevent.org/2010 /02/05/version-0-12-0-released/
http:// /www.gevent.org/gevent.ssl.html
否则,您始终可以使用旧的 apache + mod_wsgi 来为您的 wsgi 应用程序提供服务。
It looks like gevent now has an ssl module. If you have a web server implemented on top of gevent, I imagine you could modify it to wrap incoming connections with that module's ssl socket class before passing it on to the http handlers.
http://blog.gevent.org/2010/02/05/version-0-12-0-released/
http://www.gevent.org/gevent.ssl.html
Otherwise, you could always use good old apache + mod_wsgi to serve your wsgi app.
我会让 http 服务器处理 ssl 传输。
I would let the http server deal with the ssl transport.