python秒起https 文件服务器
2023-06-13 09:11:25 时间
python秒起https 文件服务器
前几天博客有个秒级启动http web服务器:
python -m http.server 6666
结果有同事想要求换成https web服务器,所以就有了下文
文章在这里:
一、windows版本:
1.安装openssl
下载msi版本,一路下一步,最后一步全部取消勾选,这里有坑
配置环境变量就和python一样了
第二天我会上传到工作群,openssl安装包
2.生成证书
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
3.启动https服务
# coding=utf-8
"""
@Project :pachong-master
@File :httpserver.py
@Author :gaojs
@Date :2022/8/17 22:29
@Blogs : https://www.gaojs.com.cn
"""
import http.server
import ssl
def https_web_server():
"""
https服务器
:return:
"""
server_ip = 'localhost'
# 这里port不要写成字符串,我刚开始给成字符串,报错搞了好一会
server_port = 5001
server_address = (server_ip, server_port)
# 生成证书步骤:
# openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
server_cert = "./cert.pem"
server_key = "./key.pem"
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(
httpd.socket,
server_side=True,
certfile=server_cert,
keyfile=server_key,
ssl_version=ssl.PROTOCOL_TLS)
print("Server HTTPS on " + server_ip + " port " + str(server_port) + " (https://" + server_ip + ":" + str(server_port) + ") ... ")
httpd.serve_forever()
if __name__ == '__main__':
https_web_server()
4.结果如下
二、linux版本
1.生成证书
我这里使用的是阿里云的镜像,所以默认自带openssl
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
2.启动https服务器
# coding=utf-8
"""
@Project :pachong-master
@File :httpserver.py
@Author :gaojs
@Date :2022/8/17 22:29
@Blogs : https://www.gaojs.com.cn
"""
import http.server
import ssl
def https_web_server():
"""
https服务器
:return:
"""
server_ip = 'localhost'
server_port = 5001
server_address = (server_ip, server_port)
# 生成证书步骤:
# openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
server_cert = "./cert.pem"
server_key = "./key.pem"
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(
httpd.socket,
server_side=True,
certfile=server_cert,
keyfile=server_key,
ssl_version=ssl.PROTOCOL_TLS)
print("Server HTTPS on " + server_ip + " port " + str(server_port) + " (https://" + server_ip + ":" + str(server_port) + ") ... ")
httpd.serve_forever()
if __name__ == '__main__':
https_web_server()
三、加入腾讯云自媒体分享计划
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1otwwvb9ht470
相关文章
- Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载
- 用Python分析2000款避孕套,得出这些有趣的结论
- 怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]
- Python: 判断某个Excel文件是否已打开
- Python办公实战!按姓名拆分Excel为单独文件,微信自动发给相应联系人
- python读取pkl_Python 读取文件
- python输出unicode编码_Python以utf8编码读取文件
- 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件
- Python 自动化指南(繁琐工作自动化)第二版:三、函数
- Python爬虫案例--音乐网站mp3文件的提取
- 使用这个 Python 工具分析你的 Web 服务器日志文件
- Linux中如何离开Python环境(linux怎么退出python)
- python中文乱码的解决方法