考虑短期内此类需求基本不大,因此将 HTTPS 作为中期目标。在 3.0 中实现的 HTTPS
(使用 pyOpenSSL)感觉还有较大改进空间,准备进一步完善以后加入 3.1 版。
目前的 sslwrap 主要是用于 socket 客户端,比如 urllib 等。在 3.1 中,如果需要在服务器端对所有
通讯做 HTTPS 加密,可以使用 apache 这样的服务器做 HTTPS 反向代理(这样无法得到 eurasia
的并发性能)。
欢迎大家继续提供意见,如果 HTTPS 在我们的项目中广泛应用,对大家普遍非常重要,我考虑将
这一功能提前(试验性提供)。
On Jan 4, 5:53 pm, Cat <i...@chuangbo.li> wrote:
> 沈大侠有支持的计划吗?
> 我们打算在4月份上线的一个项目中使用 eurasia3 的 webserver,如果不能支持 https 就不可能使用了
> 看到 sock2 里面有 fakesslwrap ,不知道在 wsgiserver 里支持 https 复杂吗?
>
> 在 2011-1-4,下午4:52, Wilhelm Shen 写道:
>
> > 3.1 中还没有实现 https 。
>
On 1月5日, 上午1时53分, Chuangbo Li <i...@chuangbo.li> wrote:
> 我们使用ssl的原因很简单,避免链接被重置,你们懂的
>
> 发自我的 iPhone
>
> 在 2011-1-5,8:35,bawbaw hu <bawbaw...@gmail.com> 写到:
>
> 我也覺得HTTPS在項目中用到的不多,像沈大說的在登入時,我們自已使用 xxtea 及 Diffie-Hellman做為輕量的加密驗證。
>
from https import httpserver, mainloop
#from eurasia.web import httpserver, mainloop
keyfile, certfile = 'server.key', 'server.crt'
#keyfile, certfile = 'server.pem', None
headers = [('Content-Type', 'text/plain')]
def handler(httpfile):
httpfile.start_response('200 OK', headers)
httpfile.sendall('hello world!')
httpfile.close()
httpd = httpserver(':8043', handler, keyfile, certfile)
httpd.start()
mainloop()
兼容 python2.6 以上版本,需要标准库 _ssl 模块。
欢迎大家使用,并提供意见,帮助完善 ssl 功能。
Tips: 使用标准库 _ssl 模块,每次建立 ssl 连接都需要读取 keyfile 和
certfile,因此有必要把这两个文件放到 /dev/shm 目录下。
在 2011年1月5日上午8:00,沈崴 <wile...@gmail.com> 寫道:
> 我下周抽时间争取先发一个 https 服务器出来,大家一起评估一下,多提些意见,
> 等成熟以后合并到 eurasia 3.1 中吧 :)
--
沈崴