脱脂牛奶。粘粘的熊。纯粹的天才。
sdsu的Python项目详细描述
脱脂牛奶。粘粘的熊。纯粹的天才。
Overview
安全的两用服务器实用程序(SDSU)提供:
- 一个预配置的、多处理器的、基于tornado的web服务器
- 来自/static子目录的静态文件宿主
- 使用存储在/security 中的证书的ssl加密
- 中凭据的登录保护(包括地址白名单) /安全性
- 与静态文件宿主在同一端口服务上的安全WebSocket交换, 使用/wss路径。
sdsu.main()方法接受三个参数,允许用户自定义 sdsu服务器启动前的配置:securityrot, staticroot和wsshandlercs。
securityRoot
默认情况下,/security子目录包含三个文件:
- certificate.pem定义服务器的ssl证书
- credentials.csv定义用户表。每个用户都是通过电子邮件定义的 地址(“电子邮件”)、密码(“密码”)和白名单掩码(CIDR样式, 首选IPv6,但IPv4将自动转换为“2002:” 前缀。)密码和白名单掩码将由 splashhandler.post()方法验证凭据提交。
- key.pem定义服务器的专用ssl密钥。
用户可以通过创建此 目录,修改其内容,并将新的绝对路径传递给 sdsu.main()作为securityrot参数。例如,您是强 鼓励使用自己的证书。
staticRoot
/static子目录包含要满足以下要求的静态文件 http请求。除了splash.html,所有静态文件都受 身份验证限制。/static的默认内容包括:
- index.css,由index.html使用的样式表,放在这里演示 验证静态文件内容的保护。
- index.html,经过身份验证的用户的默认登录页。
- splash.html,它为尚未登录的用户定义登录页 已验证。这也是一个注销页面,当访问此 清除任何现有会话的资源。
用户可以自定义静态文件内容(因此也可以自定义其web的大部分内容 应用程序)通过创建此目录的新副本,修改 内容,并将新的绝对路径作为 staticroot参数。
wssHandlerCls
类sdsu.wsshandler定义安全websocket的默认行为 服务器装载到路径“/wss”的交互。用户可以自定义 websocket通过继承这个类的行为,然后传递新的子类 将sdsu.main()初始化为wsshandlercls参数。典型用法是 覆盖以下一个或多个方法:
- on_open()
- on_message()(默认情况下,只是将消息回显到客户端)
- on_close()
有关更多详细信息,包括方法签名,请参见类方法文档。 请记住,websocker处理程序类的每个实例都是 特定的客户端连接;状态在客户端之间不共享。
WebSocket Client
一旦服务器运行,通过websocket的连接就很简单:
> var wss = new WebSocket("wss://" + window.location.host + "/wss"); > wss.addEventListener("message", console.log); > wss.send("0");