tornado SSL 证书获取与服务器配置
转载注明出处: http://www.cnblogs.com/ityoung/p/8296088.html
自动化测试/持续集成/测试开发 QQ交流群: 70160503
服务端生成证书
进入 openssl 目录
$ cd /usr/lib/ssl
生成私钥
$ sudo openssl genrsa -des3 -out server.key 1024
生成 CSR 文件
$ sudo openssl req -new -key server.key -out server.csr -config openssl.cnf
其中必填项有:
* Country Name (2 letter code) [AU]:
* Common Name (e.g. server FQDN or YOUR name) []:
生成 CA (用于自签名)
- 新建demoCA, demoCA/certs, demoCA/newcerts
$ sudo mkdir demoCA demoCA/certs demoCA/newcerts
在 demoCAm 目录下新建空文件 index.txt
在 demoCAm 目录下新建文件 serial, 内容是一个合法的 16 进制数字, 例如 0000
返回 /usr/lib/ssl 目录, 执行如下命令生成 CA
$ sudo openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
其中必填项有:
* Country Name (2 letter code) [AU]:
* Common Name (e.g. server FQDN or YOUR name) []:
签名
$ sudo openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
tornado 启动时加上 SSL 选项
复制证书文件到 tornado server 目录下(可选)
修改测试服务器代码 test.py
import tornado.ioloop
import tornado.web
import os
class TestGetHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, World!")
def make_app():
return tornado.web.Application([
(r"/", TestGetHandler),
])
if __name__ == "__main__":
application = make_app()
http_server = tornado.httpserver.HTTPServer(application, ssl_options={
"certfile": os.path.join(os.path.abspath("."), "server.crt"),
"keyfile": os.path.join(os.path.abspath("."), "server.key"),
})
http_server.listen(443)
tornado.ioloop.IOLoop.instance().start()
- 由于端口号小于1000, 因此需要使用 su 权限的用户运行脚本
$ sudo python test.py
客户端访问
浏览器
输入https://localhost直接访问
CURL
添加 -k 选项忽略 SSL 验证, 如下:
curl -k https://localhost
requests
添加verify=False选项, 如下:
requests.get(URL, verify=False)
参考
[1] 使用Tornado搭建HTTPS网站, yeolar, http://www.yeolar.com/note/2015/04/30/tornado-ssl-https/
[2] curl - 为什么不能识别自签名的SSL证书?, https://code.i-harness.com/zh-CN/q/10c8411
tornado SSL 证书获取与服务器配置的更多相关文章
- Let’s Encrypt Wildcard 免费泛域名SSL证书获取安装
2018 年 1 月Let’s Encrypt CA 宣布免费提供通配符证书(Wildcard certificate).通配符证书是一种可被多个子域使用的公钥证书.这意味着,单个证书可用于提供多台服 ...
- 使用用户名密码或ssl证书获取zabbix-api token,批量操作管理zabbix-server
概述 Zabbix API 允许你以编程方式检索和修改 Zabbix 的配置,并提供对历史数据的访问.它广泛用于: 创建新的应用程序以使用Zabbix: 将Zabbix与第三方软件集成: 自动执行常规 ...
- 实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题
最近需要https这里看到一份不错的博客,收录一下! Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust ...
- 申请Let's Encrypt永久免费SSL证书
Let's Encrypt简介 Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起 ...
- 申请Let’s Encrypt永久免费SSL证书过程教程及常见问题
配置证书https://easy.zhetao.com/ 虽然目前Let’s Encrypt免费SSL证书默认是90天有效期,但是我们也可以到期自动续约,不影响我们的尝试和使用,为了考虑到文章的真 ...
- 转载免费的SSL证书
目前我知道的有2种方式进行免费的SSL证书的获取 第一种:腾讯云申请 第二种:Let's Encrypt (国外在) 我一直使用第一种,还可以,有效期1年. 以下转载第二种: 实战申请Let's En ...
- 服务器配置ssl证书支持苹果ATS方法
服务器配置ssl证书支持苹果ATS方法 发布日期:2016-12-14 苹果安全工程&架构部门主管Ivan Kristic表示ATS将在今年底成为App Sotre app的必要条件,这将大幅 ...
- Apache环境服务器配置Let's Encrypt免费SSL证书及自动续期方法
如今越来越多的网站开始使用SSL证书,实现HTTPS网址形式,如果我们是英文网站更需要用到这样格式的HTTPS网址,因为根据谷歌搜索结果提示到如果用到SSL证书的在同等条件下排名结果是有靠前可能的.我 ...
- centos7利用acme.sh获取Let's Encrypt的永久免费ssl证书并配置网站域名https访问
acme.sh介绍:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E github:https://github.com/Neil ...
随机推荐
- JAVA随笔篇一(Timer源代码分析和scheduleAtFixedRate的使用)
写完了基础篇,想了非常久要不要去写进阶篇.去写JSP等等的用法.最后决定先不去写.由于自己并非JAVA方面的大牛.眼下也在边做边学,所以决定先将自己不懂的拿出来学并记下来. Timer是Java自带的 ...
- 服务器固件测试--PCI设备的介绍(集成网卡和外插网卡)
今天2017年9月26号,快三个月的时间,是该梳理一下,我来到这个岗位学到的东西. 网卡是什么 网卡分为俩大类 板载的集成网卡和外插的网卡.外插的网卡又分为很多种. 板载的集成网卡 外插的网卡分为 I ...
- 常见.NET功能代码汇总 (3)
33,彻底关闭Excel进程 .NET中使用Excel属于使用非托管资源,使用完成后一般都要用GC回收资源,但是,调用GC的位置不正确,Excel进程可能无法彻底关闭,如下面的代码: static v ...
- spark-submit参数说明--on YARN
示例: spark-submit [--option value] <application jar> [application arguments] 参数名称 含义 --master M ...
- 《C++程序设计语言(英文第四版)》【PDF】下载
<C++程序设计语言(英文第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382177 内容简介 本书是C++领域经典的参 ...
- 让intellij idea 14 支持ES6语法
用eclipse做前端开发,用到了webpack,结果各种依赖导致软件卡的一比,简直不能动!虽然在同事的帮忙下,修改了一下配置,但仍然卡的没脾气.改用intellij idea 14解决了卡的问题,但 ...
- SSH连接工具:SecureCRT设置,另一个SSH连接工具:Xshell。在Windows和Linux之间互传文件可用WinSCP
一般Linux发行版不允许root远程登录,CentOS允许. 调整字体大小:
- APP安全--网络传输安全 AES/RSA/ECC/MD5/SHA
移动端App安全如果按CS结构来划分的话,主要涉及客户端本身数据安全,Client到Server网络传输的安全,客户端本身安全又包括代码安全和数据存储安全.所以当我们谈论App安全问题的时候一般来说在 ...
- Core Erlang:Erlang的Core中间表示
随着erlang的不断发展,它的语法越来越复杂,不便于诸如分析器,调试器此类程序在源码层次直接进行解析,而CORE Erlang旨在为Erlang提供一个人类可读可改的中间表示(Intermediat ...
- <!--[if lte IE 8][endif] ]-->IE下判断IE版本的语句
<!--[if lte IE 6]> <![endif]--> IE6及其以下版本可见 <!--[if lte IE 7]> <![endif]--> ...