Python 命令搭建 Https的服务器

要使用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),并使用以下代码:

python 复制代码
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()
  1. 运行服务器: 在命令行中运行您的Python脚本:

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

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

相关推荐
christine-rr4 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
東雪蓮☆4 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
乌萨奇也要立志学C++4 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
绿箭柠檬茶6 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
FPGA_Linuxer6 小时前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
real 16 小时前
传输层协议UDP
网络·网络协议·udp
獭.獭.6 小时前
Linux -- 信号【上】
linux·运维·服务器
路由侠内网穿透7 小时前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
ZERO_pan10 小时前
服务器装机遇到的问题
运维·服务器
l1t10 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb