flask 设置https请求 访问flask服务器
学习过程中想要学教程中一样,做个假的微信公众号推送,不过去了微信开发文档怎么一直说需要https的请求(教学中没有说需要https,一直是http)
但是我的服务器只能使用http请求访问,如果硬是要在url中添加https 则会显示没有这个网站
于是我就想法让https请求也能请求到我的服务器域名上
我的域名是在阿里云买的,所以我就直接在阿里云上购买了证书,购买使用的是免费的1年证书
流程如下

购买之后显示,但是还没有绑定域名,所以需要申请证书绑定这个域名

点击申请,根据弹出的页面进行一个填写 我买的域名是 www.zengyimin.xyz

根据下一步不断填写信息,等待审核,出现如下画面表示绑定域名成功

点击下载 ,会下载一个压缩包
包名是绑定的域名
包中含有pem和key 证书和密匙,解压
接下来在放置 nginx 的服务器上进行操作 ,进入nginx的配置目录 (我是ubuntu)
cd /etc/nginx
该目录新建一个文件夹 放置证书和key
mkdir cert
将解压的文件上传至该文件夹

进入nginx的配置文件 (我的nginx版本不同,有些操作和你们不同,以下我的个人讲解你们看看就好 )

其中nginx.conf 是全部的配置文件集合, sites-acailable 和 siter-enabled 文件夹含有一些服务器的配置
如果你在sites中配置完成,启动nginx 时 nginx会带上nginx.conf 配置文件启动,配置文件会include导入 sites 中的配置文文件

同时sites 中的文件貌似是镜像文件? 更改一个另一个也会变
我的配置文件 进入 sites-enabled vim更改配置文件 default

这是我原本 http 80 端口的server服务配置 http不需要证书,所以不需要证书设置

https 443 的配置 ,在该文件中添加一个 server 服务

重启ngxin
service nginx restart
可以尝试在url中使用https请求nginx绑定的域名(我是一台机,其实就是flask服务器绑定的域名)了
免费证书会在google浏览器访问时提示有问题,所以需要证书还是购买有服务的比较好
http://www.zengyimin.xyz/api/v1.0/log
https://www.zengyimin.xyz/api/v1.0/log


都是一样的访问,不过http和https的请求都能请求,区别也不大...
除非用户输入http请求会自动跳转https的请求
所以我个人的最终方案
# 所有的往http80端口的请求都会被 rewrite 进行一个拦截 重定向 将http 请求改为https
server {
listen 80;
server_name www.zengyimin.xyz;
rewrite ^(.*)$ https://$host$1 permanent; # <----------------- 重点 这是重定向
location / {
index index.html index.htm;
}
}
# 这是新增的 https 的server
server {
listen 443;
server_name www.zengyimin.xyz;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/2568867_www.zengyimin.xyz.pem; # 证书
ssl_certificate_key cert/2568867_www.zengyimin.xyz.key; # 密匙
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:5001; # https请求转发到服务器ip地址
proxy_redirect off;
proxy_set_header Host $http_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服务器的请求都会被重定向到https请求
https://help.aliyun.com/document_detail/98728.html?spm=5176.2020520163.0.0.7bb9d5OKd5OKj5
https://lufficc.com/blog/configure-nginx-as-a-web-server
flask 设置https请求 访问flask服务器的更多相关文章
- [PHP自动化-进阶]003.CURL处理Https请求访问
引言:继前文<模拟登录并采集数据>,<模拟登录带有验证码的网站>,大家对CURL基本上已经有了认识,这一讲简单的说一下请求Https. 在很多的站点,如TalkingData, ...
- C#设置通过代理访问ftp服务器
// 创建FTP连接 private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) { FtpWebReque ...
- 以加密方式访问tomcat服务器
以加密方式(https)访问tomcat服务器,就要求对相应的端口配置加密连接器connector. 配置加密连接器的方法如下: 1.生成数字证书 利用jdk里的keytool生成证书,keytool ...
- flask请求访问数据
flask请求访问数据 在flask框架中,访问请求数据由全局的request对象来提供,在flask框架中,request对象具有 全局作用域: from flask import request ...
- Flask设置Access-Control_Allow_Origin实现跨域访问
前端访问Flask的接口,浏览器报错:has been blocked by CORS policy: No 'Access-Control-Allow-Origin' heade 需要将Flask的 ...
- python——请求服务器(http请求和https请求)
一.http请求 1.http请求方式:get和post get一般用于获取/查询资源信息,在浏览器中直接输入url+请求参数点击enter之后连接成功服务器就能获取到的内容,post请求一般用于更新 ...
- Python中使用Flask、MongoDB搭建简易图片服务器
主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...
- 接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头
目录 https请求 代理设置 请求头设置 获取状态码 接收响应头 https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, H ...
- 部署Flask项目到腾讯云服务器CentOS7
部署Flask项目到腾讯云服务器CentOS7 安装git yum install git 安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sq ...
随机推荐
- Qt 使用自带的OpenGL模块开发程序
QT中使用opengl .pro文件中添加 QT += opengl 1.使用指定版本的OpenGL如下使用opengl4.5调用方法,使用指定版本的接口,必须设备图形显示设备支持对应OpenGL版本 ...
- 堆优DIJ模板
Dij:贪心思想的单源最短路,时间复杂度O(n^2). Dij算法流程: d数组记录源点s到每个点的距离,若无边则设为inf,标记源点: 选出d数组中未标记的最小值,该节点记为k,并标记k为已求出最短 ...
- left join on和where 限制查询的区别在于
left join on: 会显示前表的所有数据,不满足显示为null或者为0 . 而where显示的为满足条件的记录,不满足但是存在的数据不显示. 做统计数据的时候,用join on比较合理.
- LeetCode Day 9
LeetCode0017 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23&q ...
- _Random和_RandomString的使用区别
__Random 函数介绍 作用:生成随机数 使用格式:${__Random(5,30,myResult_Random)},其中 第一个参数5,表示希望生成的数字最小的值,必填 第二个参数30,表示希 ...
- fastdfs+nginx make时报错fatal error:fdfs_define.h: 没有那个文件或目录
环境: ubuntu 18.04.1 fastdfs-nginx-module_v1.16 root@wang-machine:~/桌面/FastDFS# cd nginx-1.8.1/root@wa ...
- 在Oracle Spatial中增加Web Mercator投影坐标系
参考资料: 1. 最重要的参考文章,基本上就是按这个做的!!!:https://www.inf.unibz.it/dis/wiki/doku.php?id=students:minnerebner:o ...
- MySQL5.7彻底取消主从复制
由于手误在master节点执行了stop slave;->change master to XXX;->start slave;的动作,后面虽然使用stop slave停止了主从复制,但是 ...
- 醉酒驾驶VS睡眠不足,哪个更危险
在全球范围内,睡眠不足驾驶每年导致成千上万起交通事故,醉酒驾驶就更不用说了.毫无疑问,两种情况下都不应该驾车,都有危险.睡眠不足和醉酒驾驶相对来说哪个更危险呢? 如果要问哪一个"好" ...
- 创建Cocoapods私有库
本文以自己在公司做的一个手势密码私有库GesturePasswordKit为例说明. 1.在gitlab(或者github,我这里使用的例子是在gitlab上)上创建git仓库 (确保授权正确,避免后 ...