简介
最近有几个小伙伴在问怎么给python编程的网站配置https,加上上次接了一个单子(用flask写api接口),对方也要求配置ssl加密https访问方式。
为了解答和记录一下这些内容,所以今天的文章内容是:部署Flask网站+域名访问+免费https证书。
一、部署Flask网站
这里就不啰嗦介绍Flask怎么编写一个网站,相信看到这篇文章的应该都了解过Flask。
直接进入干货吧!
python实现在线微博数据可视化,这是我之前编程的一个flask网站,咱们直接拿这个进行讲解(里面有提供了开源源码,可以自提)
https://gitee.com/lyc96/weibo
将源码克隆到本地,可以看到源码大概是以下内容
下面需要配置域名和https,所以这里使用阿里云服务器来部署,首先将源码上传到服务器(借助xftp)
然后通过命令启动flask网站:
python3 weibo.py
出现这个说明启动成功,可以直接去浏览器访问
(这里192.168.1.109是阿里云服务器内网ip,外网访问直接访问公网就行,公网ip是:47.94.11.81)
在浏览器输入网站:http://47.94.11.81:5000/,可以打开网站
下面就开始设置通过域名访问!
二、设置域名访问
上面访问的链接是:http://47.94.11.81:5000/,可以看出我们的设置的端口是5000
现在需要通过域名访问,为了方便,我们将5000改为80,(网站默认都是80端口),然后重新启动网站(方式和上面一样)
访问方式变成(未配置域名时)
http://47.94.11.81:80/ 或者 http://47.94.11.81/
1.域名申请
(这个很简单,可以去阿里云自己申请一个域名,然后备案就可以了),不过我相信看到这篇文章的,基本都有域名之人。
2.域名解析
将域名解析到对应的服务器ip(47.94.11.81)
ok,这样我们就成功为网站配置了域名(lyc.chenlove.cn)!
在浏览器输入网站:http://lyc.chenlove.cn/,可以打开网站
ok,Flask网站就可以通过域名直接访问。
下面开始白嫖一个ssl证书(https),给我们的网站进行加密访问!
三、https证书
开始教大家白嫖https证书(免费!免费!免费!)
本次的白嫖对象是宝塔面板(一个服务器管理网站),今天的重点是在这个网站获取免费的https证书!!!
###链接
https://www.bt.cn/admin/profe
在服务器的网站跟目录新建好红框中的文件夹以及文件,在文件里面填写相应的内容,验证成功的结果如下:
最后把https证书下载到本地。
这里不介绍nginx安装与使用(很简单,就不多废话了)
下载证书解压后
因为我们配置的是nginx,所以现在将Nginx上传到服务器
在/etc/nginx/conf.d (nginx默认路径)目录下新建文件ice-qjnubk-3000.conf
编辑ice-qjnubk-3000.conf
红框中是需要修改的内容(域名、证书位置、以及内网转发链接)
这里的内网转发链接是http://192.168.1.109:9000,但是这里是改为http://127.0.0.1:5000,所以在Flask网站里面内网ip我们也修改为127.0.0.1,端口是5000
然后重新启动网站
service nginx restart
重启nginx后,我们刚刚编写的conf文件就可以生效了!
这样我们的https就配置好了,超级简单!!!
https://lyc.chenlove.cn
好,https证书已部署成功!
四、总结
今天干货:部署Flask网站+域名访问+免费https证书,已成功为你们送达!
为了让你们体验一下,这个网站(https://lyc.chenlove.cn)我就暂时不关闭了!(起初是为了让大家能够感受实战过程,就拿域名和服务器来进行演示)。
------------------- End -------------------
本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有