python快速搭建https服务器
本文介绍了在ubuntu操作系统上搭建https服务器的过程
在一台连接到网络的主机上搭建https服务器,假设该主机的ip地址为:10.98.69.174
创建证书example.crt和私钥example.key
openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365 -out example.crt
使用命令可以查看证书详情
openssl x509 -in example.crt -text -noout
编辑python脚本文件https_server.py
import ssl
from http.server import HTTPServer, BaseHTTPRequestHandler
class MyRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
pass
if __name__ == '__main__':
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
context.load_cert_chain(certfile='./example.crt', keyfile="./example.key")
ciphers = 'ECDHE-ECDSA-AES128-GCM-SHA256:TLS_CHACHA20_POLY1305_SHA256...'
context.set_ciphers(ciphers)
ciphers_suit = context.get_ciphers()
for i in range(len(ciphers_suit)):
print(f"{i}: {ciphers_suit[i]['name']}")
httpd = HTTPServer(('0.0.0.0', 4443), MyRequestHandler)
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
httpd.serve_forever()
然后运行python脚本
python3 https_server.py
可以在局域网内通过火狐浏览器访问 https://10.98.69.174:4443 查看https服务器是否已经生效
本文在写作中,以下文章给作者带来了很大的帮助,特此表示感谢
快速架设Python HTTPS服务 - 又是火星人 - 博客园