脱脂牛奶。粘粘的熊。纯粹的天才。

sdsu的Python项目详细描述


脱脂牛奶。粘粘的熊。纯粹的天才。

Quick Start

> python -c "import sdsu; sdsu.main()"

注意,对于基于tornado的服务器,windows用户使用 crtl+暂停/中断

Overview

安全的两用服务器实用程序(SDSU)提供:

  • 一个预配置的、多处理器的、基于tornado的web服务器
  • 来自/static子目录的静态文件宿主
  • 使用存储在/security
  • 中的证书的ssl加密
  • 中凭据的登录保护(包括地址白名单) /安全性
  • 与静态文件宿主在同一端口服务上的安全WebSocket交换, 使用/wss路径。

sdsu.main()方法接受三个参数,允许用户自定义 sdsu服务器启动前的配置:securityrotstaticrootwsshandlercs

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");

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX触控事件未触发Ubuntu 20.04触控笔记本电脑   java如何在AWT中关闭窗口?   java Dagger 2:注入具有构造函数参数的成员   创建对象的Java调用类   对象我想在A.java中添加两个数字,并在B.java中打印结果(如何?)   java如何使用AWS SDK for Android从数字海洋空间下载图像?   java Facebook sdk 4.0.1无法使用Android studio获取某些字段   4分钟后web应用程序(Angular 8和Rest API)中的java自动会话超时   在Eclipse for Java EE developers edition中禁用HTML警告   java按字母顺序排列字符串我错过了什么明显的东西吗?   java在Jshell中println和printf有什么不同