Python 命令搭建 Https的服务器

news/2024/12/17 4:38:57/

要使用Python命令行搭建HTTPS服务器,您可以使用http.server模块(在Python 3.x中可用),并结合ssl模块来创建安全的HTTPS连接。以下是一个简单的步骤指南:

  1. 准备证书: 在搭建HTTPS服务器之前,您需要一个SSL证书。如果没有,可以生成一个自签名证书用于测试。您可以使用openssl命令生成自签名证书,命令如下:

    openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key

    请按提示输入信息,生成的server.crtserver.key文件将在一个目录中。

  2. 搭建HTTPS服务器: 创建一个Python脚本(例如https_server.py),并使用以下代码:

  3. import http.server
    import ssl# 定义主机和端口
    host = 'localhost'
    port = 4443# 创建一个简单的HTTP请求处理程序
    handler = http.server.SimpleHTTPRequestHandler# 创建HTTP服务器
    httpd = http.server.HTTPServer((host, port), handler)# 配置SSL
    httpd.socket = ssl.wrap_socket(httpd.socket,keyfile='server.key',certfile='server.crt',server_side=True)print(f'Serving HTTPS on https://{host}:{port}')
    # 启动服务器
    httpd.serve_forever()

  4. 运行服务器: 在命令行中运行您的Python脚本:

    python https_server.py

  5. 访问服务器: 打开浏览器,输入 https://localhost:4443。由于使用的是自签名证书,浏览器可能会警告您该连接不安全,您可以继续访问。

  6. 需要注意的是,上述方法适合进行开发和测试。对于生产环境,您应该使用受信任的SSL证书,确保网站的安全性和信任度。


http://www.ppmy.cn/news/1555771.html

相关文章

Android仿闲鱼发布弹簧动画

Android仿闲鱼发布弹簧动画 仿闲鱼发布的弹簧动画显示弹框,效果还不错 一、思路: 用SpringAnimation动画 二、效果图: 看视频更直观点: Android开发案例分享仿闲鱼发布弹簧动画 三、关键代码: public class MoodP…

OpenCV--图像查找

OpenCV--图像查找 代码和笔记 代码和笔记 import cv2 import numpy as np""" 图像查找--特征匹配的应用,通过特征匹配和单应性矩阵 单应性变换:描述物体在世界坐标系(原图)和像素坐标系(对比图&#x…

手机膜介绍

因为自己开店的原因,现在每天都在对不同的货进行对比,一直在发库存,库存的文章基本也都发没了,所以开始分享开店过程中遇到的事,来给大家介绍一下手机膜。 手机钢化膜、水凝膜、软膜和UV膜是四种常见的手机屏幕保护膜…

Docker-Dockerfile、registry

Dockerfile 一、概述 1、commit的局限 很容易制作简单的镜像,但碰到复杂的情况就十分不方便,例如碰到下面的情况: 需要设置默认的启动命令需要设置环境变量需要指定镜像开放某些特定的端口 2、Dockerfile是什么 Dockerfile是一种更强大的镜…

设置HP条UI

概述 设置常见的生命值条, 实现过程 设置UI/image作为形状 设置UI/Image作为背景 设置UI/image(healthfill)作为填充图片,层数低于背景 设置heathfill的imagetype为filled fillmethod为horizontal [SerializeField] private Im…

Artec Leo与Ray打造工厂数字孪生,提升生产线加工效率【沪敖3D】

挑战:勘测一条漏水的陈旧豌豆生产线,以便在该位置上安装全新改良系统,能提高新鲜农产品的利用比例 解决方案:Artec Leo、Artec Ray、Artec Studio、SOLIDWORKS(带Mesh2Surface插件) 效果:利用…

2023蓝桥杯题解 仅C、D

2023蓝桥杯题解 洛谷2023蓝桥杯C题 洛谷2023蓝桥杯D题 C题 [蓝桥杯 2023 省 A] 平方差 题目描述 给定 L , R L,R L,R,问 L ≤ x ≤ R L \leq x \leq R L≤x≤R 中有多少个数 x x x 满足存在整数 y , z y,z y,z 使得 x y 2 − z 2 xy^2-z^2 xy2−z2。 输入…

Guava库 学习入门--概览与入门

Guava库的介绍 Guava库是由Google开发的Java开源库,它的主要目的是简化常见的编程任务,提供高效的数据处理方法。Guava库中的功能覆盖了从集合操作、缓存、函数式编程、并发编程以及其他诸多实用的工具类。 Guava的安装与依赖配置 Guava库可以通过Mav…