python flask 假死情况处理+https证书添加

前言

当使用flask编写了后台程序跑在服务器端的时候,有时候虽然后台中显示在运行,但是页面无法访问,出现这个情况可以使用如下方法修改代码,进而防止假死,另外记录下flask下证书的添加。

假死处理

出现进程存在,无法访问,端口开放的情况是因为flask默认为单线程,如果出现一个请求出现错误,会默认等待进而阻碍了其他访问的处理,因此需要修改为多线程且设置超时。

首先我们需要将flask修改为多线程运行,不需要多进程,启动代码修改如下即可:

复制代码
app.run(host='0.0.0.0', port=443, ssl_context=ssl_context, threaded=True)

添加 threaded=Tru 即可,默认为False

然后需要添加超时处理:

复制代码
app = Flask(__name__)
app.config['TEMPLATES_AUTO_RELOAD'] = 30

然后使用nohub启动即可:

复制代码
nohup python3.11 main.py &

测试不会再出现假死情况。

https证书:

关于证书,首先我们可以去阿里云申请免费的证书,下载其他证书,下载下来为pem和key后缀文件

添加如下代码即可加载证书进行https访问:

复制代码
ssl_context  = ('configure/online.pem', 'configure/online.key')
app.run(host='0.0.0.0', port=443, ssl_context=ssl_context, threaded=True)

访问网址可以看到证书已经正常加载

另外如果需要仅允许网址访问,不允许ip访问,可以添加如下代码:

复制代码
@app.before_request
def limit_domain():
    if request.headers.get('Host') != 'www.myurl.com':
        return 'Forbidden', 403
相关推荐
JWASX1 小时前
【Go】map 源码解析 - group
后端·golang·map·源码分析
天天被压力2 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力2 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
量化分析码农2 小时前
【Python量化波动率实战 01】波动率是怎么算的:年化、滚动与区间估计一次讲清
后端
特立独行的猫A2 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
金銀銅鐵2 小时前
从一个类名到一张类图:用反射自动生成 PlantUML
java·后端·uml
小lo想吃棒棒糖2 小时前
把机器人训练从 GPU 搬到昇腾 NPU:启元 Q1 起身动作 PPO 训练全记录
python·机器人·昇腾·启元机器人
Thanks_ks2 小时前
【第 006 讲】搭建 PyCharm 开发环境:PyCharm 的下载与安装 | 初始设置与常用配置
ide·python·pycharm·开发工具·jetbrains·开发环境·集成开发环境
追逐时光者2 小时前
一款基于 .NET 开源、免费的数据库自治诊断平台
后端·.net
追逐时光者3 小时前
让 GitHub Copilot 更懂你的 .NET 代码风格:一份精简实用的 Copilot Instructions
后端·.net