python+flask 配置https网站ssl安全认证
目录
综述:
方法1:openssl
准备步骤
具体实施
方法2:阿里云或者宝塔免费申请(推荐)
步骤
1.准备步骤
阿里云
宝塔
python+flask子域名访问设置
1.给子域名添加DNS解析
2.子域名ssl证书申请
.代码修改
综述:
由于业务服务器需要对https协议进行支持,加上代码是python+flask所编写,因此需要去申请ssl的证书。有两种方式:自己使用openssl 命令配置、使用第三方免费的ssl证书。由于自己配置的证书有一定的不稳定性,可能造成不能被浏览器校验通过之类的情况。我个人比较倾向使用阿里云、宝塔的免费ssl认证。接下来,记录两种方式如何操作。并在最后,介绍怎么使用子域名访问网站
方法1:openssl
准备步骤
pip install pyOpenSSL
具体实施
# 生成私钥,按照提示填写内容
openssl genrsa -des3 -out server.key 1024# 生成csr文件 ,按照提示填写内容
openssl req -new -key server.key -out server.csr# Remove Passphrase from key
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key# 生成crt文件,有效期1年(365天)
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
执行完上述命令,将会生成server.crt和server.key文件。在flask代码中引用即可:
from flask import Flask
app = Flask(__name__)
app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/server.crt', 'your_path/server.key'))
方法2:阿里云或者宝塔免费申请(推荐)
步骤
1.准备步骤
阿里云
控制台查找域名,如下图,慢慢找。开启证书后,下载下来。
证书内容,需要用到红框中的两个文件
加入到代码中
from flask import Flask
app = Flask(__name__)
app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/XXXX.pem', 'your_path/XXXX.key'))
宝塔
点这里,需要实名认证,也方便。需要将一个文件放在网站目录下进行验证,跟着操作来不会错,等所有操作结束,等待一会就可以下载证书了。
宝塔文件结构和阿里云文件结构相似,不再赘述。
python+flask子域名访问设置
1.给子域名添加DNS解析
很多平台都可以,不再说了
2.子域名ssl证书申请
详情见上述步骤
3.代码修改
#coding:utf8
#创建一个子域名
from flask import Blueprintapi = Blueprint('api',__name__,subdomain='api')# attention1: 原来是app.route('/')
@api.route('/')
def index():return u'这个是api的首页'@api.route("/login/")
def login():return u'我是登录页面'if __name__="__main__":app = Flask(__name__) # attention2:你的以及域名,比如bbaidu.comapp.config['SERVER_NAME'] ='bbaidu.com'app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/XXXX.pem', 'your_path/XXXX.key'))
一阵操作猛如虎,主要注意两个地方,代码中已经注释。主要是改变路由功能。
ok,现在就可以愉快的使用https://api.bbaidu.com/访问你的首页了
如果文章对您有帮助,打上一下呗!
python+flask 配置https网站ssl安全认证相关推荐
- 在IIS中使用SSL配置HTTPS网站
在IIS中使用SSL配置HTTPS网站 由于Windows系统的普及,很多中小企业在自己的网站和内部办公管理系统都是用默认的IIS来做WEB服务器使用. 默认情况下我们所使用的HTTP协议是没 ...
- SSL证书配置(https访问接口, 单向认证和双向认证)
拿到SSL证书后, 如何才能解锁更多玩法? 一. SpringBoots项目配置https访问接口(直接配置) SSL协议 配置步骤 1. 获取证书/ 生成证书 2. 放置证书 3. 配置项目 pro ...
- flask配置https
登录linux机器,centos自带openssl openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key ...
- OpenStack 给nova组件 vnc 配置https(SSL)自验证签名证书
先说解决办法以及结果 解决办法:Nginx 转发 结果:只转发 生成vnc 的console 地址,拼凑出https,能在Https web应用即可,比如把console url (控制台地址)ifr ...
- 阿里云万网虚拟主机安装配置Https(SSL)教程
太多太多的用户咨询阿里云虚拟主机是否可以安装SSL数字证书?万网空间是否可以支持HTTPS协议访问网站?答案只有一个:目前阿里云虚拟主机都不支持安装SSL证书!但是,但是,可以曲线实现目标! 1.为了 ...
- python Flask配置笔记
好久没写东西了,发现关于系统配置的问题是最蛋疼的,很有必要记录下来.这次主要是搭一个python的服务器,用来跑我自己的Flask应用.由于种种特殊的原因,我选择了win32 Apache加mod_w ...
- Python Flask框架-开发简单博客-认证蓝图
作者:Eason_LYC 悲观者预言失败,十言九中. 乐观者创造奇迹,一次即可. 一个人的价值,在于他所拥有的.可以不学无术,但不能一无所有! 技术领域:WEB安全.网络攻防 关注WEB安全.网络攻防 ...
- cdn加速以及前后分离SpringBoot+Vue 配置https及SSL证书
配置方法同上篇文章一样 CDN加速配置,阿里云cdn内配置好以后即可 剩下把前端服务器nginx内的证书文件上传以及配置写好即可. 后端服务器也同上配置证书下载上传服务器配置好nginx即可. 如果都 ...
- 宝塔环境PHP网站要配置HTTPS,SSL证书如何申请
方法一 宝塔面板自带证书(证书期限只有90天) (1)登录宝塔面板->站点->SSL证书->点击未部署 (2)进入后->选择Let's Encrypt ->选择域名-&g ...
最新文章
- Callgrind--函数调用分析工具以及可视化方法
- 合唱队形(递增再递减的最长子序列)
- 英特尔首款AI芯片终于发布:训练推理两用,历时4年花费5亿美元买来4家公司...
- 相关滤波跟踪(MOSSE)
- 2020-06-18 CVPR2020 VL论文讨论(1) 笔记
- 织梦html编辑器功能在哪,织梦dede自带编辑器替换百度ueditor编辑器
- 通信原理包络是什么意思_罗茨鼓风机的应用及原理
- 代码生成工具之Winform查询列表界面生成
- leetcode 746. 使用最小花费爬楼梯(dp)
- Linux 如何通过某一台服务器调用执行多台远程服务器上的脚本,结果显示在本地?...
- c语言打砖块代码,打砖块游戏的源代码(请多指教)
- PHP文件中定义加载资源文件
- 未root的情况下获取墨墨背单词的databases文件夹
- SQL 求同比 环比
- iptables实现网卡包的转发
- 题解-怪盗基德的滑翔翼 c++
- 激光切割dxf图案下载
- 微信共享停车场小程序开发设计方案
- 快速上手百度大脑人体关键点识别
- U3D的坑坑洼洼(1)