当前位置: 首页 > article >正文

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服务 - 又是火星人 - 博客园


http://www.kler.cn/a/323328.html

相关文章:

  • 职场汇报技巧:选择合适的汇报形式与提供数据依据
  • 整数唯一分解定理
  • 加速 AI 创新:引入 Elastic AI 生态系统
  • 谷歌AI进军教育,这将改变未来?
  • 24 年第十届数维杯国际数模竞赛赛题浅析
  • [产品管理-82]:《产品经理从入门到精通》产品经理的基本思维与核心思想
  • UNI-SOP应用场景(1)- 纯前端预开发
  • ChadGPT 01
  • 98问答网是一个怎样的平台?它主要提供哪些服务?
  • 24年下重庆事业单位考试报名超详细流程
  • ​​合​​合​​信​息​​​龙​​湖​​数​​科​​一​​面​​​
  • MySQL慢查询优化指南
  • 网络安全等级保护 | 规范企业网络系统安全使用 | 天锐股份助力等保制度落地
  • oracle数据备份和导入
  • 深圳龙链科技:全球区块链开发先锋,领航Web3生态未来
  • 如何使用Git管理项目工程
  • .NET IIS发布项目后设置虚拟路径访问文件 404
  • 清华大学开源 CogVideoX-5B-I2V 模型,以支持图生视频
  • Serverless and Go
  • 电商系统开发全攻略:基于Spring Boot的在线商城
  • 收银系统源码-ERP进销存解决方案
  • 你知道AI模型是如何学习的吗???零基础入门到精通,收藏这一篇就够了
  • 基于STM32和FPGA的射频数据采集系统设计流程
  • VSCode开发Vue3+TS项目中遇到各种波浪线(诊断信息)
  • cobaltstrike之execute-assembly内存加载—后渗透利用
  • 敏捷开发与DevOps的有机结合