开发者社区> 建帅小伙儿> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

python秒起https文件服务器

简介: python秒起https 文件服务器
+关注继续查看

python秒起https 文件服务器

前几天博客有个秒级启动http web服务器:
python -m http.server 6666
结果有同事想要求换成https web服务器,所以就有了下文

文章在这里:

python实现秒级启动http、ftp服务器

一、windows版本:

1.安装openssl

openssl官方下载地址

下载msi版本,一路下一步,最后一步全部取消勾选,这里有坑

配置环境变量就和python一样了

image-1660751630636

image-1660751515268

第二天我会上传到工作群,openssl安装包

2.生成证书

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

image-1660750829316

image-1660751749551

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.结果如下

image-1660750871759

image-1660750903293

二、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秒级创建httpserver和fp文件服务器
python秒级创建httpserver和fp文件服务器
3153 0
linux服务器上运行python文件
linux服务器上运行python文件
74 0
python 高效的 itertools 模块
迭代器的特点是:惰性求值(Lazy evaluation),即只有当迭代至某个值时,它才会被计算,这个特点使得迭代器特别适合于遍历大文件或无限集合等,因为我们不用一次性将它们存储在内存中。
797 0
PyDev (eclipse的python插件)
1.安装 在eclipse的market中搜索PyDev即可。 2.新建项目 图2-1 新建python项目  图2-2 指定python的解释器
805 0
Eclipse环境安装Python插件PyDev
Eclipse环境安装Python插件PyDev 软件准备,下载地址,先看安装,再准备:  eclipse:        http://www.eclipse.org/        http://www.eclipse.org/downloads/  jdk-download:        http://www.oracle.com/technetwork/jav
1373 0
python模块目录文件后续
1,新增PythonModule加载path Ruiy tip(关于python list[]数据库类型特殊你懂的!append(""),extend([""])) 2,print(sys.argc) list[""]以列表形式显示的数据信息; sys.
943 0
+关注
建帅小伙儿
博客:https://www.gaojs.com.cn CSDN:https://blog.csdn.net/qq_41332844 gitee:https://gitee.com/Bigdata_2013_admin B站:https://space.bilibili.com/487498386
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python第四讲——使用IPython/Jupyter Notebook与日志服务玩转超大规模数据分析与可视化
立即下载
Python 脚本速查手册
立即下载
Python系列直播第一讲——Python中的一切皆对象
立即下载