首页 > 其他分享 >Flask启用https

Flask启用https

时间:2024-07-27 09:50:21浏览次数:4  
标签:__ key ssl Flask 证书 pem proxy https 启用

1.生成或获取SSL证书

使用openssl生成自签名证书

# req -x509         生成自签名证书
# -newkey rsa:4096  生成一个新的私钥,指定为4096位的RSA密钥对
# -keyout key.pem   私钥保存到key.pem文件
# -out cert.pem     自签名证书保存到cert.pem文件
# -days 365         证书的有效期为365天
# -nodes            不加密私钥文件
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

执行命令后会提示输入一些信息,如"Country Name, State or Province Name, Locality Name, Organization Name, Organizational Unit Name, Common Name, Email Address"。这些信息将被包含在生成的证书中,都可以为空。

或者从可信的证书颁发机构(CA)获取证书。

2. 在Flask中使用SSL证书

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, World!"

if __name__ == "__main__":
    # cert.pem是生成的证书文件,key.pem是生成的私钥文件
    app.run(host='0.0.0.0', port='5000', ssl_context=('cert.pem', 'key.pem'))

3. Nginx配置https反向代理

可用nginx -t命令查看nginx配置文件路径,默认在/etc/nginx/nginx.conf

    server {
        listen 80;
        server_name yourdomain.com;
        # HTTP重定向到HTTPS
        return 301 https://$host$request_uri;
    }

    server {
        listen 443 ssl;
        server_name yourdomain.com;

        # 配置SSL证书和私钥路径
        ssl_certificate /path/to/cert.pem;
        ssl_certificate_key /path/to/key.pem;

        # 配置SSL协议和加密套件
        ssl_protocols TLSv1.2 TLSv1.3;  # 启用TLS协议版本
        ssl_ciphers HIGH:!aNull:!MD5;   # 配置安全的加密套件
        ssl_prefer_server_ciphers on;   # 优先使用服务器端的加密套件

        location / {
            # 反向代理到后端服务器
            proxy_pass https://127.0.0.1:5000;
             # 设置代理头信息
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

修改后检查配置是否正确: nginx -t
重新加载: nginx -s reload

标签:__,key,ssl,Flask,证书,pem,proxy,https,启用
From: https://www.cnblogs.com/rustling/p/18326655

相关文章

  • Camera Raw:启用 HDR 编辑
    在CameraRaw中启用HDR编辑HDREdit功能,可在高动态范围中编辑、展示和保存照片。通过更明亮的高光、更深的阴影、改善的色调分离以及更鲜艳的颜色,更深刻地体验层次感和真实感。要真正实现HDR编辑并观察到实质效果,通常需要一台HDR显示器并启用HDR模式,还需在操作系......
  • 13、flask-模型-models-模型配置使用-数据迁移
    1.配置数据库__init__.py#__init__.py:初始化文件、用来创建flask应用fromflaskimportFlaskfrom.viewsimportblue#蓝图from.extsimportinit_exts#导入插件模块exts.pydefcreate_app():app=Flask(__name__)#创建flask应用#注册蓝图......
  • python框架之Flask
    之前写过有关flask-restful: https://www.cnblogs.com/xingxia/p/flask_restful.html虽然早期使用python进行web应用搭建的使用该框架,但是好像很少总结,在此记录一下 [安装]pip3installflask [使用]#导入类库fromflaskimportFlask#创建实例......
  • 如何申请HTTPS证书?简单5步完成HTTPS证书申请
    在当今互联网+时代,保护用户的敏感数据和隐私变得越来越重要,HTTPS证书可以加密传输数据,有效保护传输数据安全,消除浏览器不安全提示,增加网站的安全性和可信性,由此个人或企业网站都建议部署HTTPS证书。那么我们应该如何申请HTTPS证书呢?在本文中,我们将向您介绍5个简单的步骤,让您轻......
  • TypeError:Flask 应用程序中的字符串索引必须是整数,而不是“str”
    这是我的代码:fromflaskimportFlask,render_templatefrompostimportPostimportrequestsposts=requests.get("https://api.npoint.io/5abcca6f4e39b4955965").json()post_objects=[]forpostinposts:post_obj=Post(post['id'],po......
  • 为什么运行 Flask 开发服务器会自行运行两次?
    我正在使用Flask开发网站,在开发过程中,我使用以下文件运行flask:#!/usr/bin/envpythonfromdatetimeimportdatetimefromappimportappimportconfigif__name__=='__main__':print('###################Restarting@',datetime.utcnow(),'#......
  • python+flask计算机毕业设计新冠肺炎疫情人员统计及打卡系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景自新冠肺炎疫情爆发以来,全球公共卫生体系面临前所未有的挑战。疫情防控工作的高效开展,依赖于对人员流动、健康状况及疫情数据的精准掌握与......
  • python+flask计算机毕业设计基于智能匹配的体育场馆预约系统App(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着全民健身意识的日益增强,体育场馆作为民众参与体育活动的重要场所,其利用率与便捷性成为了社会关注的焦点。然而,传统的体育场馆预约方式......
  • Https证书安装
    1、将CA根证书拷贝到本地机器 2、安装方案一 :地址栏输入cmd进入命令行如下如图,注意路径:输入命令: certutil -addstorerootrootCA.crt如上图,表示安装成功 3、安装方案二 :双击证书  点下一步完成安装 ......
  • 使用CloseableHttpClient 访问 http 和https 的get请求
    publicclassHttpClientUtil{privatestaticLoggerlogger=LoggerFactory.getLogger(HttpClientUtil.class);/***带参数的get请求**@paramurl*@paramparam*@returnString*/publicstaticStringdoGet(Stringurl,Map<S......