学习过程中想要学教程中一样,做个假的微信公众号推送,不过去了微信开发文档怎么一直说需要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服务器的更多相关文章

  1. [PHP自动化-进阶]003.CURL处理Https请求访问

    引言:继前文<模拟登录并采集数据>,<模拟登录带有验证码的网站>,大家对CURL基本上已经有了认识,这一讲简单的说一下请求Https. 在很多的站点,如TalkingData, ...

  2. C#设置通过代理访问ftp服务器

    // 创建FTP连接 private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) { FtpWebReque ...

  3. 以加密方式访问tomcat服务器

    以加密方式(https)访问tomcat服务器,就要求对相应的端口配置加密连接器connector. 配置加密连接器的方法如下: 1.生成数字证书 利用jdk里的keytool生成证书,keytool ...

  4. flask请求访问数据

    flask请求访问数据 在flask框架中,访问请求数据由全局的request对象来提供,在flask框架中,request对象具有 全局作用域: from flask import request ...

  5. Flask设置Access-Control_Allow_Origin实现跨域访问

    前端访问Flask的接口,浏览器报错:has been blocked by CORS policy: No 'Access-Control-Allow-Origin' heade 需要将Flask的 ...

  6. python——请求服务器(http请求和https请求)

    一.http请求 1.http请求方式:get和post get一般用于获取/查询资源信息,在浏览器中直接输入url+请求参数点击enter之后连接成功服务器就能获取到的内容,post请求一般用于更新 ...

  7. Python中使用Flask、MongoDB搭建简易图片服务器

    主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...

  8. 接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头

    目录 https请求 代理设置 请求头设置 获取状态码 接收响应头 https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, H ...

  9. 部署Flask项目到腾讯云服务器CentOS7

    部署Flask项目到腾讯云服务器CentOS7 安装git yum install git 安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sq ...

随机推荐

  1. jquery框架概览(二)

    (function(window, undefined) { })(window) window对象作为参数传进闭包的好处 JavaScript 全局对象.函数以及变量均自动成为 window 对象的 ...

  2. SpringBoot之HandlerInterceptor拦截器的使用 ——(三)获取requestBody解决java.io.IOException: Stream closed

    原文地址:https://blog.csdn.net/zhibo_lv/article/details/81875705 感谢原作者

  3. php单例模式的常见应用场景

    单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此 ...

  4. Linux上部署Tomcat+Nginx负载均衡

    前提:配置好了JDK. 我这里是vm上的linux虚拟机,可能不适用于所有情况. 一.Linux上配置Tomcat 1.下载地址:https://tomcat.apache.org/download- ...

  5. 初级string

    标准库string类型 string对象初始化 string s1; string s2(s1); string s3("value"); string s4(n,'c'); st ...

  6. 吴裕雄--天生自然 人工智能机器学习实战代码:LASSO回归

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model from s ...

  7. 机器学习入门 - 逻辑(Logistic)回归(5)

    原文地址:http://www.bugingcode.com/machine_learning/ex7.html 把所有的问题都转换为程序问题,可以通过程序来就问题进行求解了. 这里的模拟问题来之于C ...

  8. Bootstrap插件及其应用方法网址

    全局CCS样式 https://v3.bootcss.com/css/#type-lists 组件 https://v3.bootcss.com/components/#pagination Boot ...

  9. TCP并发、GIL全局锁、多线程讨论

    TCP实现并发 #client客户端 import socket client = socket.socket() client.connect(('127.0.0.1',8080)) while T ...

  10. jQuery学习笔记三

    使用fadeIn()js解释器会将所选元素的CSS opacity属性从0改为100,fadeTo()会动画显示所选元素,将它为改为某个特定的透明度百分比,使用fadeOut()js解释器会将所选元素 ...