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 分钟前
越南服务器 ping 值多少?
运维·服务器
ShineWinsu6 分钟前
对于Linux:内核是如何组织管理IPC资源的解析
linux·服务器·c++·面试·笔试·线程·ipc
caimouse10 分钟前
Reactos 第 5 章 进程与线程 — 5.3 系统调用 NtCreateProcess()
服务器·开发语言
猫头虎27 分钟前
猫头虎AI分享|樱桃键盘Ctrl键失效解决方案:FN+PAUSE 长按10秒恢复出厂设置保姆级教程
网络·网络协议·tcp/ip·计算机外设·键盘·机械键盘·ctrl
feng_you_ying_li32 分钟前
Linux之线程同步:条件变量和两种生产消费模型
linux·运维·服务器
network_tester1 小时前
SENT/PSI5传感器TSN集成测试:打通传统传感与未来车载网络的“最后一公里”
数据库·网络协议·tcp/ip·自动驾驶·信息与通信·信号处理·tcpdump
杨了个杨89821 小时前
HAproxy+Keepalive的简介及安装
运维·服务器
一叶知秋dong1 小时前
llama.cpp 启动脚本
linux·服务器·llama
WIZnet1 小时前
W55RP20-EVB-MKR 模块 MicroPython 实战 (11):HTTP 协议与 OneNET 平台数据上云
网络·网络协议·http
桌面运维家1 小时前
校园机房vDisk IDV云桌面建设方案价格参考
linux·服务器·数据库