python快速搭建https服务器

本文介绍了在ubuntu操作系统上搭建https服务器的过程

在一台连接到网络的主机上搭建https服务器,假设该主机的ip地址为:10.98.69.174

创建证书example.crt和私钥example.key

bash 复制代码
openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365 -out example.crt

使用命令可以查看证书详情

bash 复制代码
openssl x509 -in example.crt -text -noout

编辑python脚本文件https_server.py

python 复制代码
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脚本

bash 复制代码
python3 https_server.py

可以在局域网内通过火狐浏览器访问 https://10.98.69.174:4443 查看https服务器是否已经生效

本文在写作中,以下文章给作者带来了很大的帮助,特此表示感谢

快速架设Python HTTPS服务 - 又是火星人 - 博客园

相关推荐
小婷要努力6 分钟前
Linux常用命令速查表
linux·运维·服务器
车载测试工程师11 分钟前
CAPL学习-SOME/IP交互层-服务器端API函数
网络协议·tcp/ip·以太网·capl·canoe
北京耐用通信16 分钟前
告别调试噩梦:耐达讯自动化实现EtherNet/IP转DeviceNet网关即插即用
人工智能·物联网·网络协议·自动化·信息与通信
怀旧,16 分钟前
【Linux系统编程】10. 进程控制(下)
linux·运维·服务器
wanhengidc20 分钟前
云手机 科技展现
服务器·科技·安全·游戏·智能手机
Evan芙20 分钟前
DNS域名三级结构,DNS服务工作原理,涉及递归和迭代查询原理总结
linux·运维·服务器
llilian_1621 分钟前
微型低功耗原子钟筑牢多行业时频基准 低功耗原子钟
人工智能·单片机·嵌入式硬件·网络协议·其他·51单片机
apihz33 分钟前
随机英文姓名生成API接口详细教程:免费、简单、高效
android·java·运维·服务器·开发语言
就叫飞六吧38 分钟前
HTTP Basic认证完全指南
网络·网络协议·http
奔跑中的小象43 分钟前
统信UOS V2500服务器操作系统+海光K100 AI卡环境下VLLM服务部署
服务器·人工智能·uos·vllm·统信·海光k100