python web.py启动https端口的方式
作者:Coding的叶子 发布时间:2021-10-20 11:33:44
标签:python,web.py,https,端口
python web.py启动https端口
web.py启动https端口需要ssl证书,如果没有ssl证书,那么可以通过如下方式生成。具体可参考文末的补充介绍。
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
sudo openssl rsa -in server.key -out server.key
示例程序如下所示:
# -*- coding: utf-8 -*-
"""
Created on Mon May 10 20:37:00 2021
@author: Administrator
"""
import web #web.py
urls = (
'/server' , 'server',
'/.*', 'notfound' #localhost:port/其他任意界面,访问notfound类
)
class MyApplication(web.application):
def run(self, port=8080, *middleware):
func = self.wsgifunc(*middleware)
return web.httpserver.runsimple(func, ('0.0.0.0', port))
class server:
def __init__(self):
self.return_msg = {'errorCode': 0, 'msg': '系统正常!'}
def POST(self): #POST处理方式与GET一致
# content = web.input()
# print('收到消息:', content.key1, content.key2, content.key3)
x = web.input(myfile={})
print('xxx: ', x.keys())
return str(self.return_msg).replace('\'', '\"')
class notfound:
def GET(self):
print('--from notfound')
return '404 not found'
def POST(self):
print('--from notfound')
return '404 not found'
from cheroot.server import HTTPServer
from cheroot.ssl.builtin import BuiltinSSLAdapter
HTTPServer.ssl_adapter = BuiltinSSLAdapter(
certificate='server.crt',
private_key='server.key')
if __name__ == "__main__":
app = MyApplication(urls ,globals())
app.run(port=443)
补充:python web.py 开启https
参考英文网址http://heapkeeper-heap.github.io/hh/thread_1344.html
第一步:在shell中依次执行以下命令,回答问题,设置密码生成证书,包含三个文件***.crt 和***.key和***.csr,我分别重新命令为server.crt server.csr server.key
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mv server.key myserver.key
mv server.crt myserver.crt
开启服务,仿照下面代码输入即可,其中
from handle import Handle引入的我的方法模块,在urls中调用(仿照微信公众号开发的例子,具体如果新手可以自己看),同时保存的文件路径根据自己的写
import web
from handle import Handle
from web.wsgiserver import CherryPyWSGIServer
CherryPyWSGIServer.ssl_certificate = "/usr/ssl/server.crt"
CherryPyWSGIServer.ssl_private_key = "/usr/ssl/server.key"
urls = (
'/wx', 'Handle',
)
if __name__ == '__main__':
app = web.application(urls, globals())
app.run()
然后开始服务 sudo python main.py 443(其中443是端口号)
这个时候你需要输入ssl之前自己设置的密码,才能开启,但是这样导致不能后台隐藏,
但是在生成证书的文件夹下,执行sudo openssl rsa -in server.key -out server.key即可无密码,这样就可以后台执行
nohup python main.py 443 &
来源:https://blog.csdn.net/suiyingy/article/details/128641728
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 有时候我们需要在程序里执行一些cmd命令,使用os或者其它模块中的popen方法去执行这个问题一般是程序内有输入导致的,这个输入可以是inp
- 只能输入中文/** * 22.验证汉字 * 表达式 ^[\u4e00-\u9fa5]{0,}$ * 描述 只能汉字 * 匹配的例子 清清月儿
- NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes
- Opera所属:挪威Opera Software ASA公司渲染引擎:自家的PrestoOpera起初是一款挪威Oper
- 今天研究了些取access数据库随机记录问题,这是这我自己搜集整理的方法。大家有没有高见,可以告诉我,或者我总结的东东本身有误,也可以帮我修
- 一、word转pdf先安装win32库:pip install pywin32from win32com.client import gen
- 原因是:It looks like you need to flush stdout periodically (e.g. sys.stdo
- apply_async简介python在同一个线程中多次执行同一方法时,该方法执行耗时较长且每次执行过程及结果互不影响,如果只在主进程中执行
- 有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache、Nginx 等这类功能较复杂的 HTTP 服务程序时。这时
- 看到有人用的PJBlog使用的是自动填写验证码,这样其实也不使用验证码基本上没有什么区别,很容易被 * ,因此在参照许多修改的基础上,找到
- 摘要With the continuous development of time series prediction, Transform
- python实现超市扫码仪计费的程序主要是使用超市扫码仪扫商品的条形码,读取商品信息,实现计费功能。主要用到的技术是串口通信,数据库的操作,
- 我们的每期话题,团队在内部都会通过邮件进行一番讨论,随着讨论的激烈,往往能碰撞出很多有意义的观点,因此,将讨论内容分享出来,有兴趣的朋友可以
- 【尝尝管理员的滋味】- 淡然看,其实一切都很简单IE的滤镜泄露是最大的危害,没有找到方法解决,所以禁用了滤镜。<!DOCTYPE ht
- Python是一种非常实用的高级编程语言,它的易读性和简洁性使其成为初学者的首选语言。然而,Python的功能远不止于此,它的强大库支持使其
- django-pipeline 是一个 Django 下非常方便的静态资源管理 app,尤其是 1.2 版本之后,利用 djan
- 一、初步认识socket被翻译成套接字,尽管有些人诟病,但我觉得还挺贴切的。其功能是提供低级别的网络服务,最常用的就是根据IP来传输数据。所
- 目录总体思路:判断链接是否指向文件:下载文件:获取 url 下的所有链接:最近维基 jie mi 彻底公开了网站的全部文件,我就在想如何使用
- 前言Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便。wifi跟我们的生活
- 好不容易有些空余时间,便拿来写自己的CSS选择器引擎了,这个CSS选择器引擎的目标只有三个:速度要快代码要精简要支持CSS3的选择器。希望通